springmvc拦截器配置步骤,springmvc实现拦截器两种方式
目录
一、拦截器参数二、拦截器链配置
一、拦截器参数
前置处理
公共布尔预处理(http servlet请求请求、HttpServletResponse响应、对象处理程序)引发异常{ System.out.println(preHandle . ));返回真实}参数:
请求:请求对象
回应:响应对象
处理者:被调用的处理器对象,本质上是一个方法对象,对反射技术中的方法对象进行再包装
返回值:
返回值为假的,被拦截的处理器将不执行
后置处理
公共void post句柄(http servlet请求请求、HttpServletResponse响应、对象处理程序、ModelAndView modelAndView)引发异常{系统。出去。println( post句柄. );}参数:
模式视图:如果处理器执行完成具有返回结果,可以读取到对应数据与页面信息,并进行调整
完成后处理
完成后公共void(http servlet请求请求、HttpServletResponse响应、对象处理程序、例外情况)引发异常{系统。出去。println(完成后. );}参数:
例如:如果处理器执行过程中出现异常对象,可以针对异常情况进行单独处理
二、拦截器链配置
配置第一个拦截器
@Component//定义拦截器类,实现拦截器接口//注意当前类必须受弹簧容器控制公共类项目拦截器实现HandlerInterceptor { @Override //原始方法调用前执行的内容//返回值类型可以拦截控制的执行,真的放行,假的终止公共布尔预处理(http servlet请求请求,HttpServletResponse响应,对象处理程序)抛出异常{字符串内容类型=请求。获取标头(“Content-Type”);handler method hm=(handle method)处理程序;System.out.println(preHandle . 内容类型);返回true} @Override //原始方法调用后执行的内容公共void post句柄(http servlet请求请求、HttpServletResponse响应、对象处理程序、ModelAndView modelAndView)引发异常{系统。出去。println( post句柄. );} @Override //原始方法调用完成后执行的内容完成后公共void(http servlet请求请求、HttpServletResponse响应、对象处理程序、例外情况)引发异常{系统。出去。println(完成后. );}}配置第二个拦截器
@Componentpublic类ProjectInterceptor2实现处理程序拦截器{ @ Override public boolean preHandle(http servlet请求请求,HttpServletResponse响应,对象处理程序)抛出异常{ System.out.println(preHandle.222);返回true} @覆盖公共void post句柄(http servlet请求请求,HttpServletResponse响应,对象处理程序,ModelAndView modelAndView)抛出异常{系统。出去。println( post句柄.222);} @完成后覆盖公共void(http servlet请求请求,HttpServletResponse响应,对象处理程序例外情况)抛出异常{系统。出去。完成后打印.222);}}当配置多个拦截器时,形成拦截器链
@ Configuration @ components可以({ com。我是IMA。控制器 })@启用web MVC//实现webmvc配置器接口可以简化开发,但具有一定的侵入性公共类SpringMvcConfig实现WebMvcConfigurer { @ Autowired private project interceptor project interceptor;@ Autowired私人项目拦截器2项目拦截器2;@ Override public void添加拦截器(InterceptorRegistry注册表){ //配置多拦截器注册表。添加拦截器(项目拦截器).addPathPatterns(/books ,/books/* );注册表。添加拦截器(项目拦截器2).addPathPatterns(/books ,/books/* );}}三个拦截器构成的拦截器链图例
拦截器链的运行规律参照拦截器添加顺序为准
当拦截器拦截最初的处理器时,所有后续的拦截器都停止运行。
当拦截器被中断时,只会运行前面配置的拦截器的afterCompletion操作。
以上是SpringMVC的拦截器参数和拦截器链配置的详细说明。更多SpringMVC的拦截器配置信息,请关注热门IT的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。