SpringMVC拦截器运行原理及配置详解
过滤器与拦截器的区别:
过滤器在url-pattern中配置了/*之后,可以对所有要访问的资源拦截。
拦截器它是只会拦截访问的controller中的方法,如果访问的是jsp,html,css,image或者js是不会进行拦截的
拦截器的处理方案:
1:编写拦截器类
自定义拦截器
publicclassMyInterceptorimplementsHandlerInterceptor{ /** *预处理方法:controller方法执行前 *returntrue放行,执行下一个拦截器,如果没有,就执行controller中的方法 *return:false不放行 *@paramrequest *@paramresponse *@paramhandler *@return *@throwsException */ @Override publicbooleanpreHandle(HttpServletRequestrequest, HttpServletResponseresponse, Objecthandler)throwsException{ System.out.println("执行前......testInterceptor...."); returntrue; } /** *后处理方法,controller方法执行后,success.jsp执行之前 * * *@paramrequest *@paramresponse *@paramhandler *@parammodelAndView *@throwsException */ @Override publicvoidpostHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,ModelAndViewmodelAndView)throwsException{ System.out.println("执行后......testInterceptor...."); } /** * *success.jsp页面执行后,该方法会执行 * * *@paramrequest *@paramresponse *@paramhandler *@paramex *@throwsException */ @Override publicvoidafterCompletion(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,Exceptionex)throwsException{ System.out.println("success.jsp执行后..."); } }
2:在springmvc.xml中配置自定义拦截器
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。