SpringMVC-6 如何使用Session
程序开发
2023-09-03 14:55:44
目录
Session原理
当浏览器首次访问服务器时,服务器会创建一个session对象,这个对象存储了这个session的sessionId和一些数据,服务器会将sessionId以cookie的方式发送给浏览器。
当浏览器再次访问服务器时,会将保存的sessionId发送过来,服务器依据sessionId就可以找到对应的session对象。
将属性保存到Session中
在SpringMVC中使用@SessionAttributes注解可以将数据保存到Session中,用该注解标注相应的Controller类,并指明要保存到session中的数据的key,即可
实现上述功能。
代码在此:
@Controller
//表示要将msg存入session
@SessionAttributes(value={"msg"})
public class SessionController {@RequestMapping("/user")public ModelAndView sessionTest() {ModelAndView mav = new ModelAndView();mav.addObject("msg", "欢迎关注码农小田");mav.setViewName("result");return mav;}
}
在index.jsp中创建一个超链接,指向/user请求。
ClickMe.
新建一个jsp文件,命名为result.jsp用来查看结果。
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
结果页
${sessionScope.msg}
测试运行
代码编写完成后,将工程部署并在浏览器访问
点击超链接
可以看到,我们是从sessionScope取到的msg,这说明数据已经存到session了。
本着科学严谨的态度,为了证明是@SessionAttributes注解的作用将数据存入了session,我们去掉该注解再次测试:
原本的数据不见了,我们将result.jsp中的代码修改一下:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
结果页
${requestScope.msg}
再次部署运行,数据出来了
总结
在默认情况下,模型属性都是存在request中的,如果我们需要将数据存入session,例如保存用户登录状态的时候,就要使用@SessionAttributes注解来将数据存入session。
标签:
上一篇:
Vue.js 2.0 框架开发系列视频课程-刘畅-专题视频课程
下一篇:
数组元素之和返回其下标
相关文章
-
无相关信息