使用Filter过滤器中访问getSession()要转化
作者:eileen823 时间:2022-10-01 16:20:04
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的判断,再进行下一步操作。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
来源:https://blog.csdn.net/eileen823/article/details/70231826
标签:Filter,过滤器,getSession,转化
0
投稿
猜你喜欢
Freemarker如何生成树形导航菜单(递归)
2023-02-24 13:52:16
Android不显示开机向导和开机气泡问题
2022-10-13 23:56:26
用c#实现简易的计算器功能实例代码
2022-05-09 19:28:51
C#中 MessageBox的使用技巧
2023-06-25 16:15:48
Java4Android开发教程(一)JDK安装与配置
2022-02-04 22:33:12
C#通过PInvoke调用c++函数的备忘录的实例详解
2023-11-25 12:53:08
eclipse报错 eclipse启动报错解决方法
2023-04-28 08:43:49
C#递归实现显示文件夹及所有文件并计算其大小的方法
2023-09-13 01:56:01
SpringBoot在一定时间内限制接口请求次数的实现示例
2021-10-12 04:28:52
Java 高并发五:JDK并发包1详细介绍
2022-11-29 08:56:26
C#复杂XML反序列化为实体对象两种方式小结
2022-08-05 16:50:45
Java毕业设计实战之共享租车信息管理系统的实现
2022-08-02 13:37:32
如何在XML中定义菜单
2023-08-08 11:49:33
eclipse下配置Spring环境的方法步骤
2023-02-27 20:39:26
Flutter 实现虎牙/斗鱼 弹幕功能
2023-07-11 04:11:11
Winform启动另一个项目传值的方法
2021-12-27 07:44:58
基于springboot搭建的web系统架构的方法步骤
2023-11-21 13:33:51
Springboot动态切换数据源的具体实现与原理分析
2022-11-24 13:45:26
Java Socket编程服务器响应客户端实例代码
2023-08-09 03:25:51
Android 面试精华题目总结
2021-08-13 22:15:44