欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

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

来源: javaer 分享于  点击 13072 次 点评:284

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


目录
  • Filter过滤器中访问getSession()要进行转化
  • request.getSession()的问题
    • 1. 无参:request.getSession() 
    • 2. 有参:request.getSession(boolean var1) 

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

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

您可能感兴趣的文章:
  • Java过滤器doFilter里chain.doFilter()函数的理解
  • Spring Boot之过滤器 Filter注入的方式解析
  • Java过滤器Filter详解
  • springmvc字符编码过滤器CharacterEncodingFilter的使用
  • Java中使用Filter过滤器的方法
  • Spring Security之默认的过滤器链及自定义Filter操作
相关栏目:

用户点评