SpringMvc全局异常处理和拦截器(SpringMVC⑤)
1.全局异常处理
注意: 一定要让springmvc扫描到该异常处理类。还有就是这个异常处理类是全局匹配的
2.拦截器
先声明一点的是拦截器和过滤器是不同的
过滤器: 拦截器所有的资源.[jsp,servlet,css,js,img]
拦截器: 只会拦截springmvc的控制层接口路径。
请求----》拦截器1 prehandle方法----》拦截器2的prehandle方法---》拦截器3的prehandle方法----》执行当前请求的controller中的方法----》拦截器3的posthandle方法----》拦截器2的posthandle方法----》拦截器1 posthandle方法--->
执行拦截器3afterCompletion方法-->执行拦截器2的afterCompletion方法-->执行拦截器1的afterCompletion方法--》结束!
创建一个完整的拦截器的步骤
2.1.先创建一个拦截器类
注意:类名后需要实现HandlerInterceptor接口并且重写preHandle方法
返回值若是为True则放行,若是false则不放行然后完成我们自己的后续需求
2.2.把自定义的拦截器声明到springmvc容器中。(配置文件)
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/aa/aa"/> <mvc:exclude-mapping path="/aaa/c"/> <bean class="com.lyd.interceptor.LoginInterceptor" /> </mvc:interceptor> </mvc:interceptors>
说明:
<!--声明拦截器--> <!-- <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="拦截器的路径"/> <mvc:exclude-mapping path="不拦截的路径"/> <bean class="自定义拦截器的全路径"/> </mvc:interceptor> </mvc:interceptors>-->
