本篇内容介绍了“如何使用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的判断,再进行下一步操作。
“如何使用Filter过滤器中访问getSession()”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!