欢迎来到天天文库
浏览记录
ID:12713859
大小:21.00 KB
页数:3页
时间:2018-07-18
《过滤器和拦截器的区别》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、过滤器和拦截器的区别1、拦截器是基于java的反射机制的,而过滤器是基于函数回调。2、过滤器依赖于servlet容器,而拦截器不依赖于servlet容器。3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。4、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次拦截器:就是在你调用一个方法前,或者调用一个方法后,做一些业务逻辑的操作,例如打印字符串。下面通过实例来看一下过滤器和拦截器的区别:使用拦截器进行/admin目录下jsp页面的过滤:2、ame="newsDemo"extends="struts-default"namespace="/admin"> 3、interceptor-stack> 4、-ref>下面是我实现的拦截器:packagecom.test.news.util;importjava.util.Map;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionInvocation;importcom.opensymphony.xwork2.interceptor.AbstractInterceptor;importcom.test.news.action.5、AdminLoginAction;publicclassAccessInterceptorextendsAbstractInterceptor{ privatestaticfinallongserialVersionUID=-4291195782860785705L; publicStringintercept(ActionInvocationactionInvocation)throwsException{ ActionContextactionContext=actionInvocation6、.getInvocationContext(); Mapsession=actionContext.getSession(); Objectaction=actionInvocation.getAction(); if(actioninstanceofAdminLoginAction){ returnactionInvocation.invoke(); } //checksession if(session.get7、("user")==null){ return"logout"; } returnactionInvocation.invoke();//goon }} 过滤器:就是在你访问某个JSP、Servlet或者Action之前,过滤掉一些信息。使用过滤器进行/admin目录下jsp页面的过滤,首先在web.xml进行过滤器配置: accessfilter 8、-class> com.test.news.util.AccessFilter accessfilter /adm
2、ame="newsDemo"extends="struts-default"namespace="/admin">
3、interceptor-stack> 4、-ref>下面是我实现的拦截器:packagecom.test.news.util;importjava.util.Map;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionInvocation;importcom.opensymphony.xwork2.interceptor.AbstractInterceptor;importcom.test.news.action.5、AdminLoginAction;publicclassAccessInterceptorextendsAbstractInterceptor{ privatestaticfinallongserialVersionUID=-4291195782860785705L; publicStringintercept(ActionInvocationactionInvocation)throwsException{ ActionContextactionContext=actionInvocation6、.getInvocationContext(); Mapsession=actionContext.getSession(); Objectaction=actionInvocation.getAction(); if(actioninstanceofAdminLoginAction){ returnactionInvocation.invoke(); } //checksession if(session.get7、("user")==null){ return"logout"; } returnactionInvocation.invoke();//goon }} 过滤器:就是在你访问某个JSP、Servlet或者Action之前,过滤掉一些信息。使用过滤器进行/admin目录下jsp页面的过滤,首先在web.xml进行过滤器配置: accessfilter 8、-class> com.test.news.util.AccessFilter accessfilter /adm
4、-ref>下面是我实现的拦截器:packagecom.test.news.util;importjava.util.Map;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionInvocation;importcom.opensymphony.xwork2.interceptor.AbstractInterceptor;importcom.test.news.action.
5、AdminLoginAction;publicclassAccessInterceptorextendsAbstractInterceptor{ privatestaticfinallongserialVersionUID=-4291195782860785705L; publicStringintercept(ActionInvocationactionInvocation)throwsException{ ActionContextactionContext=actionInvocation
6、.getInvocationContext(); Mapsession=actionContext.getSession(); Objectaction=actionInvocation.getAction(); if(actioninstanceofAdminLoginAction){ returnactionInvocation.invoke(); } //checksession if(session.get
7、("user")==null){ return"logout"; } returnactionInvocation.invoke();//goon }} 过滤器:就是在你访问某个JSP、Servlet或者Action之前,过滤掉一些信息。使用过滤器进行/admin目录下jsp页面的过滤,首先在web.xml进行过滤器配置: accessfilter 8、-class> com.test.news.util.AccessFilter accessfilter /adm
8、-class> com.test.news.util.AccessFilter
此文档下载收益归作者所有