新科展教育

                                          新科展教育

                                          ┃ 新科展教育 > 服务教育 >

                                          Springboot 拦截器配置

                                          界说阻挡器,编写处置代码:

                                          packagecom.sbt.interceptor;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.springframework.stereotype.Component;importorg.springframework.web.servlet.HandlerInterceptor;importorg.springframework.web.servlet.ModelAndView;@ComponentpublicclassMyInterceptorimplementsHandlerInterceptor{/***preHandle(HttpServletRequestrequest,HttpServletResponseresponse,Object*handle)办法,该办法正在苦求处置之进步止挪用。SpringMVC中的Interceptor是链式挪用的,正在1个运用中大概道是正在1个哀告中能够共时生存多个Interceptor。*每一个Interceptor的挪用会根据它的注明纪律顺次施行,并且开始施行的皆是Interceptor中的preHandle办法,*因此能够正在那个办法中停止极少前置始初化操纵大概是对于以后仰求干1个预处置,也能够正在那个办法中停止少少判定去决意仰求能否要持续停止停来。*该办法的前往值是布我(Boolean)规范的,当它前往为false时,示意苦求停止,后绝的Interceptor战操纵器(Controller)皆没有会再施行;*当前往值为true时,便会持续挪用停1个Interceptor的preHandle办法,假如依然是末了1个Interceptor的时分,便会是挪用以后央浼的操纵器中的办法。*/@OverridepublicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{System.out.println("MyInterceptor.preHandle");returntrue;}/***postHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandle,ModelAndViewmodelAndView)办法,*经由过程preHandle办法的诠释,尔们晓得那个办法包含前面要道到的afterCompletion办法皆只可正在以后所属的Interceptor的preHandle办法的前往值为true的时分,*才干被移用。postHandle办法正在以后央求停止处置以后,也便是正在操纵器中的办法移用以后施行,然则它会正在DispatcherServlet停止瞅图前往衬托之前被移用,*因而尔们能够正在那个办法中对于操纵器处置以后的ModelAndView对于象停止操纵。postHandle办法被挪用的偏向跟preHandle是差异的,也便是道,*先注脚的Interceptor的postHandle办法反而会后施行。那战Struts2内里的Interceptor的施行进程有面近似,Struts2内里的Interceptor的施行进程也是链式的,*不过正在Struts2内里须要脚动挪用ActionInvocation的invoke办法去触收对于停1个Interceptor大概是action的移用,*而后每个Interceptor中正在invoke办法移用之前的内乱容皆是依照讲明序次施行的,而invoke办法以后的内乱容便是反背的。*/@OverridepublicvoidpostHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,ModelAndViewmodelAndView)throwsException{System.out.println("MyInterceptor.postHandle");}/***afterCompletion(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandle,Exceptionex)办法,*也是须要以后对于应的Interceptor的preHandle办法的前往值为true时才会施行。所以,该办法将正在全部吁请停止以后,*也便是正在DispatcherServlet陪衬了对于应的瞅图以后施行,那个办法的重要感化是用于停止资本整理的任务。*/@OverridepublicvoidafterCompletion(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,Exceptionex)throwsException{System.out.println("MyInterceptor.afterCompletion");}}

                                          那里那个类达成HandlerInterceptor交心便可。而后把阻挡器停止备案。

                                          packagecom.sbt.interceptor;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.InterceptorRegistration;importorg.springframework.web.servlet.config.annotation.InterceptorRegistry;importorg.springframework.web.servlet.config.annotation.WebMvcConfigurer;/***今朝(2.0.4.RELEASE版原)WebMvcConfigurerAdapter已过期*必需加入@Configuration评释,Spring才干同一办理以后的阻挡器真例。*/@ConfigurationpublicclassWebConfigimplementsWebMvcConfigurer{@AutowiredprivateMyInterceptorinterceptor;@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){//加添阻挡器,建设阻挡天址个中/**默示以后目次和全部子目次(递回),/*表现以后目次,没有包含子目InterceptorRegistrationregistration=registry.addInterceptor(interceptor);registration.addPathPatterns("/api/**");//加添没有阻挡途径registration.excludePathPatterns("/login",//登录"/images/**",//图片静态资本"/js/**",//js静态资本"/css/**");//css静态资本}}

                                          那里界说了只阻挡api挨头的吁请,且没有阻挡静态资本,而后编写1个Controller。

                                          packagecom.sbt.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.GetMapping;@ControllerpublicclassJettyController{@GetMapping("/hello")publicStringhello(){return"/index.jsp";}@GetMapping("/api/userlist")publicStringuserlist(){return"user_list";}}

                                          吁请交心/api/userlist会输入挨印疑息,其余则没有阻挡。

                                          配个图:

                                          推举您浏览更多相关于“ springmvcspringboot阻挡器Interceptor ”的作品

                                          电话咨询 联系我们 在线沟通 查看地图