SpringMVC 学习笔记(拦截器的配置))

  在设置SpringMVC的拦截器时,需要在SpringMVC中配置 拦截器对象,拦截器的的对象要 实现 HandlerInterceptor 接口

  拦截器类的设置:

public class interceptor implements HandlerInterceptor {
// 处理器(Handler)执行完请求 后 ,执行该拦截方法
// 应用场景:统一异常处理,统一日志处理
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object arg2, Exception arg3)
throws Exception { } // 请求进入 Handler 之后,Handler 返回ModelAndView 之前 执行此拦截方法
// 应用场景:从ModelAndView出发:将公用的模型数据(比如菜单导航栏)在这里传到视图,也可以在这里统一指定视图
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
// TODO Auto-generated method stub } //进入 Handler方法之前执行
//应用场景:用于身份认证(登录认证)、身份授权(权限校验)
//此方法返回false表示拦截,不向下执行,返回true表示放行
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
if("admin".equals(name) && "admin".equals(pwd)){
return true;
}
return false;
} }

拦截器对象的配置:

<!--配置拦截器的相关设置  -->
<mvc:interceptors>
<!-- 配置一个拦截器 -->
<mvc:interceptor>
<!--配置拦截器需要拦截的请求 -->
<mvc:mapping path="/login.action"/>
<!-- 执行拦截操作的对象 -->
<bean class="controller.interceptor.interceptor1"></bean>
</mvc:interceptor>
<!--如配置多个拦截器 按顺序执行 即请求从上一个拦截器执行完毕后(同一方法;如:preHandler),再进入下个拦截器 -->
<mvc:interceptor> <mvc:mapping path="/login.action"/> <bean class="controller.interceptor.interceptor2"></bean>
</mvc:interceptor>
</mvc:interceptors>
上一篇:day16 内置函数和匿名函数


下一篇:POJ 3207 Ikki's Story IV - Panda's Trick (2-SAT )圆内外连线问题