概述
在config包下,新建一个AppletInterceptor类,实现HandlerInterceptor接口,在重写的preHandle方法中写拦截以及处理的业务逻辑
@Component
public class AppletInterceptor implements HandlerInterceptor {
/**
* 1.该方法在目标方法执行前,被执行,可以在方法对发送来的数据进行验证处理
* 2.如果该方法返回false,不再执行目标方法
* 3.该方法可以获取到,request, response,handler
* 4.这里根据业务进行拦截,并跳转到指定页面
* @param request
* @param response
* @param o
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
System.out.println("preHandle....");
// 校验token
String token = request.getHeader("token");
PrintWriter pw = response.getWriter();
if (StringUtils.isEmpty(token)) {
AjaxJson ajaxJson = new AjaxJson("token不能为空");
pw.write(ajaxJson.getJsonStr());
pw.close();
return false;
}
pw.close();
return true;
}
/**
* 1.目标方法执行后,执行postHandle方法
* 2.该方法可以获取到目标方法返回的modelAndView
* @param request
* @param response
* @param o
* @param modelAndView
* @throws Exception
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object o, ModelAndView modelAndView) throws Exception {
}
/**
* 在视图渲染之后执行
* @param request
* @param response
* @param o
* @param e
* @throws Exception
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object o, Exception e) throws Exception {
}
}
下一步配置spring-mvc.xml文件
<!-- 拦截器配置,拦截顺序:先执行后定义的,排在第一位的最后执行。-->
<mvc:interceptors>
<!-- 小拦截器 -->
<mvc:interceptor>
<!-- 拦截以/applet/开头的所有路径 -->
<mvc:mapping path="/applet/**"/>
<!-- 排出/applet/user/login路径 -->
<mvc:exclude-mapping path="/applet/user/login"/>
<!-- 刚才写的类 -->
<bean class="com.jeeplus.modules.applet.config.AppletInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
最后
以上就是酷酷花卷为你收集整理的springmvc配置拦截器的全部内容,希望文章能够帮你解决springmvc配置拦截器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复