前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《JSP极简教程》在jsp页面获取session对象两种方法九大内置对象代码实例

《JSP极简教程》在jsp页面获取session对象两种方法九大内置对象代码实例

作者头像
一个会写诗的程序员
发布2018-08-20 10:25:01
9210
发布2018-08-20 10:25:01
举报
文章被收录于专栏:一个会写诗的程序员的博客

两种方法

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

代码语言:javascript
复制
<button type="button" class="username dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
                        ${sessionScope.currentUser.username}<span class="caret"></span>
 </button>

java

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.03.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 两种方法
  • 九大内置对象
  • 代码实例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档