一聚教程网:一个值得你收藏的教程网站

热门教程

使用Filter过滤器中访问getSession()要转化代码示例

时间:2022-06-29 01:57:57 编辑:袖梨 来源:一聚教程网

本篇文章小编给大家分享一下使用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的判断,再进行下一步操作。

热门栏目