《JSP极简教程》在jsp页面获取session对象

两种方法

1、request.getSession().getAttribute("X")
2、${sessionScope.X}

九大内置对象

JSP中有九大内置对象,可以直接用session,也可以获取从request中取,其本质都是同一个。九大内置对象如下:

JSP中九大内置对象为:

内置对象 说明 类型 作用域
request 请求对象 javax.servlet.ServletRequest Request
response 响应对象 javax.servlet.SrvletResponse Page
pageContext 页面上下文对象 javax.servlet.jsp.PageContext Page
session 会话对象 javax.servlet.http.HttpSession Session
application 应用程序对象 javax.servlet.ServletContext Application
out 输出对象 javax.servlet.jsp.JspWriter Page
config 配置对象 javax.servlet.ServletConfig Page
page 页面对象 javax.lang.Object Page
exception 异常对象 javax.lang.Throwable page

代码实例

jsp

<button type="button" class="username dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
                        ${sessionScope.currentUser.username}<span class="caret"></span>
 </button>

java

package com.restfeel.controller

import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Value
import org.springframework.security.core.context.SecurityContextHolder
import org.springframework.security.core.userdetails.UserDetails
import org.springframework.stereotype.Controller
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestMethod
import java.util.*
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse

/**
 * Created by jack on 2017/3/30.
 */

@Controller
class HomeController {
    internal var logger = LoggerFactory.getLogger(AppController::class.java)

    @Value("\${application.message:REST Feel}")
    private val message = "REST Feel"

    @RequestMapping("/")
    fun home(model: MutableMap<String, Any>, request: HttpServletRequest, response: HttpServletResponse): String {
        model.put("time", Date())
        model.put("message", this.message)
        val authentication = SecurityContextHolder.getContext().authentication
        val currentUser  =if (authentication == null) null!! else authentication.principal as UserDetails
        model.put("currentUser", currentUser)

        // put currentUser into session
        request.getSession().setAttribute("currentUser",currentUser)
        return "jsp/home"
    }
}

源代码工程:

https://github.com/Jason-Chen-2017/restfeel

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.学习内容 JSP技术入门和常用指令 JSP的内置对象&标签介绍 EL表达式&EL的内置对象 2.JSP技术入门...
    WendyVIV阅读 2,191评论 1 18
  • 1.什么是JSP (1)jsp全称是Java Server Pages,它和Servlet技术一样都是sun公司定...
    yjaal阅读 3,701评论 5 99
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 1,438评论 0 10
  • 一、JSP基础 1.1什么是JSP JSP(Java ServerPage)是Java服务器端动态页面技术。是su...
    晨星资源阅读 1,199评论 0 6
  • 跟这几位年轻的90后大学生老师近距离接触后,感受了她们青春欢畅、真实具体的教育生活后,一次次被她们激进、前卫...
    晚起画蛾眉阅读 184评论 0 0