spring拦截器可以实现HandlerInterceptor接口,也可以继承HandlerInterceptorAdapter类。 主要有三种方法。 preHandle在调用特定controller之前运行,postHandle在调用controller之后运行,而页面在afterCompletion的页面呈现之后运行,拦截器的功能在filter的就我个人而言,spring为什么要做拦截器,主要是因为拦截器是spring管理的范畴类,资源分配容易,与其他集成也容易,不像filter那么突兀。 此外,在过滤器类型中,当同事命中多个拦截器时,拦截器可以进行权限检查、数据检查转换等。
拦截器publicclassusercontextinterceptorextendshandlerinterceptoradapter {//拦截器是spring的依赖注入@ overridepublicbooleanprehandle (httpservletrequestrequest,HttpServletResponse response, object handler (throws exception (/此处为用户验证if ) true ) response.set content type (' application/JSON ' ); response.setcharacterencoding (utf-8 ); 打印机writer writer=response.get writer () (writer.write ) ) (消息: )验证失败) ); }catch(ioexceptione ) { e.printStackTrace ); }returnsuper.preHandle(request,response,handler ); }配置拦截器MVC :拦截器! -权限验证拦截器--MVC :拦截器! -匹配路径--- MVC :映射路径='/* */*.do ' /! -未包含的路径--MVC : exclude-mapping path='/risk control/*.do '/bean class=' com.Zhan.design.intercept ool mm 例如,访问/hello/word.do会导致验证失败