过滤器和拦截器的区别
来源:互联网 发布:怎么样设置网络打印机 编辑:程序博客网 时间:2024/06/06 11:04
过滤器和拦截器的区别
过滤器和拦截器的区别
1、拦截器是基于java的反射机制的,而过滤器是基于函数回调。
2、过滤器依赖于servlet容器,而拦截器不依赖于servlet容器。
3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
4、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次
拦截器:就是在你调用一个方法前,或者调用一个方法后,做一些业务逻辑的操作,例如打印字符串。
下面通过实例来看一下过滤器和拦截器的区别:
使用拦截器进行/admin 目录下jsp页面的过滤:
<package name="newsDemo" extends="struts-default" namespace="/admin"> <interceptors> <interceptor name="auth" class="com.test.news.util.AccessInterceptor" /> <interceptor-stack name="authStack"> <interceptor-ref name="auth" /> </interceptor-stack> </interceptors> <!-- action --> <action name="newsAdminView!*" class="newsAction" method="{1}"> <interceptor-ref> <interceptor-ref name="defaultStack"/> <interceptor-ref name="authStack"> </interceptor-ref> </action></package>
下面是我实现的拦截器:
package com.test.news.util; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor;import com.test.news.action.AdminLoginAction;public class AccessInterceptor extends AbstractInterceptor { private static final long serialVersionUID = -4291195782860785705L; public String intercept(ActionInvocation actionInvocation) throws Exception { ActionContext actionContext = actionInvocation.getInvocationContext(); Map session = actionContext.getSession(); Object action = actionInvocation.getAction(); if (action instanceof AdminLoginAction) { return actionInvocation.invoke(); } //check session if(session.get("user")==null ){ return "logout"; } return actionInvocation.invoke();//go on }}
过滤器:就是在你访问某个JSP、Servlet或者Action之前,过滤掉一些信息。
使用过滤器进行/admin 目录下jsp页面的过滤,首先在web.xml进行过滤 器配置:
<filter> <filter-name>access filter</filter-name> <filter-class>com.test.news.util.AccessFilter</filter-class></filter> <filter-mapping> <filter-name>access filter</filter-name> <url-pattern>/admin</url-pattern></filter-mapping>
转载自:https://wenku.baidu.com/view/0883d535b90d6c85ec3ac692.html
0 0
- 过滤器和拦截器的区别
- 过滤器和拦截器的区别
- 过滤器和拦截器的区别
- java_过滤器和拦截器的区别
- 拦截器和过滤器的区别
- 过滤器和拦截器的区别
- 拦截器和过滤器的区别
- 过滤器和拦截器的区别
- 拦截器和过滤器的区别
- 拦截器和过滤器的区别
- 拦截器和过滤器的区别?
- 过滤器和拦截器的区别
- 拦截器和过滤器的区别
- 拦截器和过滤器的区别
- 过滤器、拦截器和监听器的区别
- 过滤器和拦截器的区别
- 过滤器和拦截器的区别
- 过滤器和拦截器的区别
- 二维码扫描扫描到网址跳转到wenView中
- jsonp跨域请求问题
- appium_常用的API函数
- 【Linux学习笔记】三、文件搜索命令
- 没有任何公式——直观的理解变分自动编码器VAE
- 过滤器和拦截器的区别
- ZOJ
- static的常用用法
- 笔试面试算法经典--矩阵的最短路径和(Java)
- EventBus 3.0的用法详解(一)
- POJ2236 Wireless Network(并查集)
- 广搜暴力
- 字节流的处理细节
- 资源地址总览(实时更新中)