SSH2――filter过滤器(二)

2014-11-23 22:06:35 · 作者: · 浏览: 1
n; } String user = ( String ) hrequest.getSession().getAttribute("useronly"); if (user == null) { wrapper.sendRedirect(redirectPath); return; }else { chain.doFilter(request, response); return; } } public void init(FilterConfig filterConfig) throws ServletException { config = filterConfig; } }

这样FIlter就可以帮你过滤了。
总结:上篇文章简单对拦截器有一个了解,今天 又学习了FIlter这个过滤器,除了使用方法不一样以外它们还有很多不同的地方,如:filter基于回调函数,我们需要实现的filter接口中doFilter方法就是回调函数,而interceptor则基于java本身的反射机制,这是两者最本质的区别,filter是依赖于servlet容器的,即只能在servlet容器中执行,很显然没有servlet容器就无法来回调doFilter方法。而interceptor与servlet容器无关,还有就是拦截器由spring管理,只对action起作用,不能拦截jsp页面、图片等其他资源。拦截器截获用户对action的访问,如需要跳转,只需如action一样返回一个result,spring根据result的配置执行跳转。如无需跳转,可调用invocation.invoke();方法来执行用户请求的action。拦截器在action之前开始,在action完成后结束。肯定还有很多不同的地方,学习到这里只体会到了这些,欢迎大家一起分享。