欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用Filter过滤器中访问getSession()要转化

程序员文章站 2022-06-14 23:17:50
目录filter过滤器中访问getsession()要进行转化request.getsession()的问题1. 无参:request.getsession()2. 有参:request.getses...

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的判断,再进行下一步操作。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。