springmvc实现拦截器两种方式,springmvc实现自定义拦截器的方式

  springmvc实现拦截器两种方式,springmvc实现自定义拦截器的方式

  00-1010一、截击机二的概念。拦截器介绍案例

  00-1010拦截器是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。

  角色:

  在指定方法调用前后执行预设代码。

  阻止原始方法的执行。

  拦截器与过滤器区别

  所有权:过滤器属于Servlet技术,拦截器属于SpringMVC技术。

  拦截内容不同:Filter增强所有访问,Interceptor只增强对SpringMVC的访问。

  00-1010 1.声明拦截器的bean并实现HandlerInterceptor接口(注意:扫描并加载bean)

  @Component//定义拦截器类,实现HandlerInterceptor接口//注意当前类必须由Spring容器控制。公共类项目拦截器实现处理程序拦截器{ @ override//调用原始方法之前执行的内容。//返回值类型可以拦截控制的执行,True release,false termin ate public boolean prehandle(http servlet request请求,http servlet response响应,对象处理程序)抛出异常{system.out.println (prehandle . ));返回true} @Override //调用原方法后执行的内容public void post handle(http servlet request请求,http servlet response响应,对象处理程序,ModelAndView modelAndView)抛出异常{ system . out . println( post handle . );} @Override //调用原方法后要执行的内容在完成后是public void(http servlet request请求,http servlet response响应,对象处理程序,Exception ex)抛出Exception { system . out . println( after completion . );}}2.定义配置类,继承WebMvcConfigurationSupport,实现addInterceptor(注意扫描加载配置)

  @Configurationpublic类SpringMvcSupport扩展WebMvcConfigurationSupport { @ Override protected void add interceptors(InterceptorRegistry registry){ .}}3.添加拦截器并设置拦截的访问路径。可变参数可以设置多条路径。

  @Configurationpublic类SpringMvcSupport扩展WebMvcConfigurationSupport { @ auto wired private project interceptor project interceptor;@ override protected void add interceptors(interceptor registry){//configure interceptor registry . add interceptor(project interceptor)。addpathpatterns (/books ,/books/* );}}4.使用标准接口WebMvcConfigurer来简化开发(注意:它更具侵入性)

  @ configuration @ components can({ com . ithe IMA . controller })@ enable web MVC//实现WebMvcConfigurer接口可以简化开发,但是,这有点侵入性。公共类Spring MVC Config实现WebMVConfigurer { @ autowired private project interceptor项目拦截器;@ override public void add interceptors(interceptor registry){//configure interceptor registry . add interceptor(project interceptor)。addpathpatterns (/books ,/books/* );}}拦截器执行过程

  PreHandle():这个方法在控制器方法之前执行。如果返回false,意味着拦截器不会释放请求,会自己处理或结束请求。如果返回true,这意味着拦截器释放请求,其他匹配的拦截器或控制器继续处理它。

  PostHandle():该方法在调用控制器方法之后、解析视图之前执行。您可以通过这种方法对请求域中的模型和视图进行进一步的修改。

  AfterCompletion():这个方法将在整个请求完成之后,也就是视图渲染完成之后执行。

  关于详细解释SpringMVC拦截器的概念和介绍案例的文章到此为止。关于SpringMVC拦截器的更多信息,请搜索热门IT之前的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: