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 框架开发系列视频课程-刘畅-专题视频课程
                                                        下一篇:
                            
                            数组元素之和返回其下标
                                                    
                        相关文章
- 
                    			无相关信息                            
