欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring mvc 和struts2拦截器

程序员文章站 2022-05-28 15:53:41
...
1.SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet。

    DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller来处理。  所以我们现在web.xml中加入以下配置:


<filter>
		<filter-name>parameterFilter</filter-name>
		<filter-class>com.app.offlinepos.interceptor.ParameterFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>parameterFilter</filter-name>
		<url-pattern>*.mvc</url-pattern>
	</filter-mapping>
用于过滤空值和特殊sql注入的一个拦截器。
springMvc.xml中其中一个配置
 <mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/**"/>
			<bean class="cn.base.interceptor.AuthorityInterceptor" />  
		</mvc:interceptor>
		<mvc:interceptor>
			<mvc:mapping path="/**"/>
			<bean class="cn.base.interceptor.TokenInterceptor" />  
		</mvc:interceptor>
		
	</mvc:interceptors> 
上述两个拦截器直接配置在springmvc配置文件中,这两种配置的区别是。在web.xml中的配置对于
SpringMVC的拦截器HandlerInterceptorAdapter对应提供了三个preHandle,postHandle,afterCompletion方法。
preHandle在业务处理器处理请求之前被调用,
    postHandle在业务处理器处理请求执行完成后,生成视图之前执行,afterCompletion在DispatcherServlet完全处理完请求后被调用,可用于清理资源等 。所以要想实现自己的权限管理逻辑,需要继承HandlerInterceptorAdapter并重写其三个方法。
对于配置在springmvc中的拦截器必须继承
HandlerInterceptorAdapter
public class TokenInterceptor extends HandlerInterceptorAdapter {