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 {
下一篇: Struts2的拦截器
推荐阅读
-
Spring MVC源码(三) ----- @RequestBody和@ResponseBody原理解析
-
三、解决Spring MVC拦截器导致静态资源访问失败(基于java注解配置)
-
Spring MVC五大核心组件和配置
-
spring MVC扩展和SSM整合
-
Spring MVC 实现文件的上传和下载
-
spring.net中的IoC、DI和MVC
-
MVC模式和Spring MVC初识
-
Spring mvc,jQuery和JSON数据交互实例讲解
-
RestTemplate的使用和原理你都烂熟于胸了吗?【享学Spring MVC】
-
HandlerMethodArgumentResolver(二):Map参数类型和固定参数类型【享学Spring MVC】