相关文章:
AOP的相关的文章介绍:
javaweb中Aop(jdk动态代理)https://blog.csdn.net/weixin_43319279/article/details/103125051
javaweb中CGLIB动态代理
https://blog.csdn.net/weixin_43319279/article/details/103135053
javaweb中声明式 spring- AOP本文链接:https://blog.csdn.net/weixin_43319279/article/details/103138788
javawebspring-mvc文件上功能https://blog.csdn.net/weixin_43319279/article/details/103196088
一下这篇拦截器是在这篇上的基础上,测试是否被拦截!
java spring mvc中类转换器
本文链接:https://blog.csdn.net/weixin_43319279/article/details/103195925
拦截器的作用:
记录请求信息日志
拦截器可以有两种进行实现
实现HandlerInterceptor接口中的类和继承HandlerInterceptor接口中的类来实现。来实现的,我用的是第一种方法
实现WebRequestInterceptor接口中的类和继承WebRequestInterceptor接口中的类来实现
创建拦截器类
package org.business.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class TestInterceptor implements HandlerInterceptor {
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// TODO 自动生成的方法存根
System.out.println("3");
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// TODO 自动生成的方法存根
System.out.println("2");
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// TODO 自动生成的方法存根
System.out.println("1");
return false;
}
}
在spring-mvc中的 拦截器的配置
<!-- spring-mvc的拦截器的配置-->
<mvc:interceptors>
<bean class="org.business.interceptor.TestInterceptor" />
<mvc:interceptor>
<!--要拦截的路径 (可选) -->
<mvc:mapping path="/**"/>
<!--不要拦截的路径(可选)-->
<mvc:exclude-mapping path=""/>
<bean class="org.business.interceptor.TestInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
结果为: