22222222222
过滤器是在web.xml文件中配置
拦截器是在spring.xml配置文件中配置
拦截器的使用场景
使用原则: 处理所有请求的共同问题:
2、解决权限验证问题
在 preHandle 方法中对用户的登录状态进行验证
拦截器的使用场景
使用原则: 处理所有请求的共同问题:
1、解决乱码问题
2、解决权限验证问题
拦截器使用场景
使用原则:处理所有请求的共同问题
1、解决乱码问题
2、解决权限验证问题
本章主要对拦截器的使用场景进行介绍,解决了乱码问题和权限验证问题。
拦截器的使用场景
使用原则:处理所有请求的共同问题。
1、通过拦截器解决乱码问题(可以设置请求编码(preHandle中进行设置)和响应编码设置)。
拦截器类的preHandle方法中,使用HttpServletRequest对象的setCharacterEncoding("utf-8"),这样请求执行之前字符集被更改为utf-8。
2、解决权限验证问题(比如:有些页面只有登陆后,才可以使用)
在拦截器类的preHandle方法中进行判断,如果登入成功时,会往session域中存储一个值,该方法通过参数HttpServletRequest对象的getSesssion().getAttribute(“存储的值”)判断改值是否为null,也就是如果session域中没有该值,则终止请求,通过HttpServletRequest对象的getRequestDispatcher返回登陆页面,并且返回false。
验证登录,都是从 request 请求中获取session 信息
拦截器,统一处理乱码
拦截器的使用场景
去掉web.xml里配置的过滤器,用拦截器实现过滤器,解决乱码问题 。
arg0.setCha.....("utf-8");
对用户登陆进行判断:
arg0.getSession().getAttribute("......");
1.乱码,过滤器拦截器都可以,建议用过滤器
2、权限验证关系
<filter>
<filter-name>CharEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
乱码 arg0.setCharacterEncoding("utf8");
在拦截器中设置 字符集,以及判断是否有登录会话
拦截器的使用场景:
1.乱码,过滤器拦截器都可以,建议用过滤器 2、权限验证关系 <filter> <filter-name>CharEncoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
拦截器处理乱码问题代码
拦截器处理权限问题实例代码:登陆
解决权限问题
拦截器使用的场景
拦截器使用场景
拦截器的使用场景
2
使用场景
使用拦截器处理乱码问题
1.乱码,过滤器拦截器都可以,建议用过滤器 2、权限验证关系 <filter> <filter-name>CharEncoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>