SpringMVC拦截器详解

目录

  • web.xml文件
  • springMVC配置文件:
  • controller类:
  • 第一个拦截器配置:
  • 第二个拦截器:
  • 总结

web.xml文件
springMVCorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1springMVC/


springMVC配置文件:

【SpringMVC拦截器详解】
controller类:
package cn.hp.action; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpSession; @Controllerpublic class UserAction {@RequestMapping("/test1.do")publicString test01(){System.out.println("正在执行test1这个业务逻辑"); return "index"; }@RequestMapping("/test2.do")publicString test02(){System.out.println("正在执行test2这个业务逻辑"); return "index"; }}


第一个拦截器配置:
package cn.hp.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestInterceptor1 implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("第一个拦截器,执行业务逻辑之前执行此方法"); return true; }@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("第一个拦截器,执行业务逻辑之后,视图渲染之前执行此方法"); }@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("第一个拦截器,执行视图渲染之后执行此方法"); }}


第二个拦截器:
package cn.hp.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestInterceptor2 implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("第二个拦截器,执行业务逻辑之前执行此方法"); return true; }@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("第二个拦截器,执行业务逻辑之后,视图渲染之前执行此方法"); }@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("第二个拦截器,执行视图渲染之后执行此方法"); }}

SpringMVC拦截器详解
文章图片


总结 本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

    推荐阅读