《JSP极简教程》在jsp页面获取session对象两种方法九大内置对象代码实例
时间:2022-06-07
本文章向大家介绍《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
- 【Python环境】Python可视化工具综述
- 【Spark研究】Spark编程指南(Python版)
- Java细粒度锁实现的3种方式
- 教你在Java接口中定义方法
- 【Spark研究】如何用 Spark 快速开发应用?
- 高性能Java解析器实现过程详解
- Java内存模型深度解读
- Java 实现线程死锁
- Java 四种线程池的用法分析
- 深入了解Java对象序列化
- 在Java EE7框架中使用MongoDB
- 用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper原理分析与测试手记
- iPhone的Wi-Fi芯片漏洞利用POC公布,赶紧更新系统吧
- No.003 Longest Substring Without Repeating Characters
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python批量运行py文件
- beautifulsoup的使用
- PWN:House Of Einherjar
- 2.用Python套用Excel模板,一键完成原亮样式
- Vmware Centos7 配置静态 ip 和 使宿主机和虚拟机互相 ping 通
- Hadoop安装成功之后,访问不了web界面的50070端口怎么解决?
- 2.1 注释
- 2.2 标识符
- 数据科学的软件工程技巧和最佳实践
- ntp 服务开机启动失败
- 4.8 this关键字
- 使用Pyppeteer进行gmail模拟登录
- 一个没法商用,但是好玩有趣的 Python 手绘图形库!
- 使用豆瓣源安装python包
- [已解决]报错:ValueError: Expected 2D array, got scalar array instead