使用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的判断,再进行下一步操作。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Spring Boot之过滤器 Filter注入的方式解析
目录 过滤器 Filter注入的方式 第一种 第二种 第三种 方法四 注入自定义Filter 过滤器 Filter注入的方式 第一种 @WebFilter(filterName = "myFilter",urlPatterns = "/*") public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletExc
-
Java过滤器Filter详解
目录 Filter学习 Filter功能 Filter的工作原理 多个Filter的实现 Filter的执行逻辑 总结 Filter学习 Filter功能 拦截jsp.静态图片文件.静态html资源文件 实现URL级别的权限访问控制 过滤敏感词汇 压缩相应信息 Filter的工作原理 看源码可以看出来,Filter接口中有3个方法:init.doFilter.destory init方法,初始化Filter,Filter在服务器启动阶段被实例化.并且调用init方法,init方法只执行一次,因为
-
springmvc字符编码过滤器CharacterEncodingFilter的使用
字符编码过滤器CharacterEncodingFilter 一.在web.xml中的配置 <!-- characterEncodingFilter字符编码过滤器 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter
-
Spring Security之默认的过滤器链及自定义Filter操作
Spring Security 过滤器链及自定义Filter 别名 类名称 Namespace Element or Attribute CHANNEL_FILTER ChannelProcessingFilter http/intercept-url@requires-channel SECURITY_CONTEXT_FILTER SecurityContextPersistenceFilter http CONCURRENT_SESSION_FILTER ConcurrentSessionF
-
Java中使用Filter过滤器的方法
Filter过滤器 着重记录下 public void doFilter(){} 方法参数: (1) ServletRequest servletRequest 请求reqeust: (2)ServletResponse servletResponse 响应response: (3)FilterChain filterChain 参数 filterChain,有一个doFilter() 方法,调用这个方法,可以使程序继续往下走,执行后续代码,如果有多个过滤器,它会继续执行下一个过滤器逻辑(开发中
-
Java过滤器doFilter里chain.doFilter()函数的理解
目录 对过滤器doFilter里chain.doFilter()函数的理解 过滤器Filter&&chain.doFilter() 对过滤器doFilter里chain.doFilter()函数的理解 关于chain.doFilter()函数在最近的使用中不是很理解,但是考虑到他是过滤器.过滤器顾名思义就是在执行某件事情的时候开始之前. 开始进行处理的叫做过滤处理.一个方法,一个类就是充当过滤器的角色.它是在一个容器(类似于Tomcat)启动之后,打开一网站,他就会根据配置就行过滤处理.
-
使用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
-
JavaWeb Servlet中Filter过滤器的详解
JavaWeb Servlet中Filter过滤器的详解 1.简述 Filter过滤器,对web服务器所有web资源进行过滤,从而实现一些特殊的功能(权限访问控制.过滤敏感词汇.压缩响应信息).Filter能够对Servlet容器的请求和响应进行检查和修改,其本身不能生成请求request和响应response,只提供过滤作用(Servlet被调用之前检查Request对象修改其相关信息,Servlet被调用后检查Response修改其相关信息),Filter对象常驻服务器. 2.Lifecyc
-
浅谈Java中的Filter过滤器
Filter简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能. 它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理.使用Filter的完整流程:Filter对用户请求进行预处理,接着将请求交
-
深入了解Java中的Filter过滤器
Filter简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能. 它主要用于对用户请求进行预处理,也可以对HttpServletResponse 进行后处理.使用Filter 的完整流程:Filter 对用户请求进行预处理,接着将
-
java过滤器中Filter的ChainFilter过滤链
1.什么是过滤器? 在客户端到服务器的过程中,当发送请求时,如果有不符合的信息将会被filter进行拦截,如果符合则会进行放行,在服务器给客户端响应时也会进行判断 如果有不符合的信息将会被filter进行拦截,如果符合则会进行放行. OOP:Java面向对象编程,抽象.封装.继承.多态. AOP:面向切面编程,过滤器就是一个面向切面的编程思想. AOP是sun公司srvlet2.3版本之后推出的新功能,在2.3之前的版本没有该功能,定义一个过滤器需要实现(implement)Filter接口,这
-
详解AngularJS中$filter过滤器使用(自定义过滤器)
1.内置过滤器 * $filter 过滤器,是angularJs中用来处理数据以更好的方式展示给我用户.比如格式化日期,转换大小写等等. * 过滤器即有内置过滤器也支持自定义过滤器.内置过滤器很多,可以百度.关键是如何使用: * 1.在HTML中直接使用内置过滤器 * 2.在js代码中使用内置过滤器 * 3.自定义过滤器 * * (1)常用内置过滤器 * number 数字过滤器,可以设置保留数字小数点后几位等 * date 时间格式化过滤器,可自己设置时间格式 * filter 过滤的数据一般
-
Yii控制器中filter过滤器用法分析
本文实例讲述了Yii控制器中filter过滤器用法.分享给大家供大家参考,具体如下: 指定过滤动作,(如下projectContext()方法在新建,列表,管理页面调用时使用) public function filters() { return array( 'accessControl', // perform access control for CRUD operations 'postOnly + delete', // we only allow deletion via POST
-
Vue filter 过滤器、以及在table中的使用介绍
使用方法: // 双花括号中 {{ isActive | isActiveFitlter}} // 在v-bind 中 <div v-bind:id=" isActive | isActiveFitlter"></div> 一.组件中定义本地 Filter filters:{ isActiveFitlter : (value)=>{ return value===1?'激活':'冻结' } } 二.创建Vue实例前定义全局过滤器 Vue.filter('i
-
Quarkus中filter过滤器跨域cors问题解决方案
目录 前言 web依赖 过滤器filter开发 resteasy的filter vertx的filter Quarkus中的跨域 前言 Quarkus中的web模块是基于java标准web规范jax-rs构建的,实现则选用了jboss的resteasy.这部分只是请求路由转发部分实现.真正的请求接收则使用了eclipse开源的vert.x框架,底层也是基于netty的一个响应式开发框架.Quarkus将vert.x和resteasy集成在了一起,所以支持响应式和非响应式应用混合开发,这也是Qua
随机推荐
- Lesson02_04 表单标签(2)
- JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
- MyEclipse删除网上复制下来的来代码带有的行号(正则去除行号)
- .Net基于MVC4 Web Api输出Json格式实例
- asp实现禁止搜索引擎蜘蛛访问的代码
- ERROR 1406 : Data too long for column 解决办法
- Android学习之介绍Binder的简单使用
- windows2008 64位系统下MySQL 5.7绿色版的安装教程
- React-Native Android 与 IOS App使用一份代码实现方法
- Javascript 中创建自定义对象的方法汇总
- js实现同一页面多个不同运动效果的方法
- spring cloud学习入门之config配置教程
- 用rsync对网站进行镜像备份实现步骤
- 用DBSQL类加快开发MySQL数据库程序的速度
- Django中的CBV和FBV示例介绍
- vue轻量级框架无法获取到vue对象解决方法
- Python (Win)readline和tab补全的安装方法
- Android实现自动轮询的RecycleView
- mysql中general_log日志知识点介绍
- C++中unique函数的用法示例