使用Filter过滤器中访问getSession()要转化
Filter过滤器中访问getSession()要进行转化
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse res = (HttpServletResponse)response; User user = (User)req.getSession().getAttribute("user"); }
request.getSession()的问题
在JavaWeb项目中,request.getSession()一般是被用来存储当前用户对象到session中,或者从session中获取当前用户对象。
分为无参和有参两种写法:
1. 无参:request.getSession()
从当前request中获取session,如果获取不到session,则会自动创建一个session,并返回新创建的session;如果获取到,则返回获取到的session;
2. 有参:request.getSession(boolean var1)
request.getSession(true)
这种方式和无参时一样,只是增家了一个true参数,明确告诉它在获取不到的时候自动创建session;
request.getSession(false)
这种方式与上两种的区别,就是在获取不到session的时候,不会自动创建session,而是会返回null。
各方式的应用场景:
如果想要存储信息到session中时,使用request.getSession(),
如果想要获取session中的信息时,使用request.getsession(false),并在获取后对session变量进行是否为null的判断,再进行下一步操作。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法
这篇文章主要介绍了SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-03-03浅谈Java如何实现一个基于LRU时间复杂度为O(1)的缓存
这篇文章主要介绍了浅谈Java如何实现一个基于LRU时间复杂度为O(1)的缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-08-08Zookeeper中如何解决zookeeper.out文件输出位置问题
这篇文章主要介绍了Zookeeper中如何解决zookeeper.out文件输出位置问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-04-04springboot 整合表达式计算引擎 Aviator 使用示例详解
本文详细介绍了Google Aviator 这款高性能、轻量级的 Java 表达式求值引擎,并通过详细的代码操作演示了相关API的使用以及如何在springboot项目中进行集成,感兴趣的朋友一起看看吧2024-08-08
最新评论