spring过滤器配置
来源:互联网 发布:精仿rmb货到付款淘宝 编辑:程序博客网 时间:2024/05/22 14:59
1.拦截器和过滤器的区别
1、拦截器是基于java反射机制的,而过滤器是基于函数回调的。
2、过滤器依赖于servlet容器,而拦截器不依赖于servlet容器。
3、拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。
4、拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。
5、在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次。
当接收到一个httprequest ,
a) 当外部的httpservletrequest到来时
b) 初始到了servlet容器 传递给一个标准的过滤器链
c) FilterDispatecher会去查找相应的ActionMapper,如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy
d) ActionProxy将会通过ConfigurationManager来查找配置struts.xml
i. 下一步将会 通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前)
ii. Interceptor做一些拦截或者初始的工作
e) 一旦action返回,会查找相应的Result
f) Result类型可以是 jsp或者freeMark 等
g) 这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序)
h) 响应的返回是通过我们在web.xml中配置的过滤器
i) 如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理sreadlocal ActionContext;如果ActionContextCleanUp不使用,则将会去清理sreadlocals。
过滤器的配置:
<filter>
<filter-name>encodingFilter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
自定义拦截器:
public class LoginFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
request=(HttpServletRequest)request;
response =(HttpServletResponse) response;
System.out.println(request.getProtocol());
filterChain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
web.xml中填写
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- spring编码过滤器配置
- spring过滤器配置
- spring编码过滤器配置
- spring编码过滤器 配置
- spring boot 配置Filter过滤器
- 配置Spring自带的编码过滤器
- spring编码拦过滤器配置范例
- Spring 监听器和乱码过滤器配置
- spring boot之过滤器配置(十五)
- 如何在web.xml配置spring,struts2配置以及过滤器
- 怎么在web.xml配置spring,struts2配置以及过滤器
- spring 过滤器
- 【spring mvc】Spring MVC配置过滤器并在过滤器中使用bean
- spring中处理中文乱码的一个过滤器配置
- spring中处理中文乱码问题的过滤器配置
- web.xml中配置spring字符编码过滤器
- web.xml使用spring配置字符编码过滤器
- 配置Spring的用于解决懒加载问题的过滤器
- AudioEffect源码解析
- 【spring】Building Java Projects with Maven
- mysql日期和字符相互转换
- example site
- 深入理解linux网络技术之驱动层
- spring过滤器配置
- QUML建模第一层:角色-业务图实现愿景(3)
- 【IOS】保存用户唯一ID
- 计时器,锁屏广播事件,widget小控件,
- zookeeper遍历和设置acl
- Struts2配置(struts.xml)详解
- doc下 mysql命令总结
- ORACLE 游标
- ffffffffffffffffff