1、登录拦截类代码
package com.login;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class Login implements HandlerInterceptor{
/**
* 在controller执行之后的DispatcherServlet之后执行
* */
@Override
public void afterCompletion(HttpServletRequest httpRequest,
HttpServletResponse httpResponse, Object arg2, Exception arg3)
throws Exception {
System.out.println("在controller执行之后的DispatcherServlet之后执行");
}
/**
* 在controller执行之后的DispatcherServlet之后执行
* */
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
System.out.println("在controller执行之后的DispatcherServlet之后执行");
}
/**
* 在DispatcherServlet之前执行
* */
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object object) throws Exception {
// System.out.println("在DispatcherServlet之前执行");
// return true;
// response.sendRedirect("/olForum/forumList.html?login=aaa");
response.sendRedirect("/login/index");
return false;
}
}
2、 spring配置文件中 配置拦截相关操作
<!--拦截器-->
<mvc:interceptors>
<!--使用 bean 定义一个 Interceptor,直接定义在 mvc:interceptors 下面的 Interceptor 将拦截所有的请求-->
<!--<bean class="com.login.Login"/>-->
<mvc:interceptor>
<mvc:mapping path="/*/*"/>
<!--不拦截的请求-->
<mvc:exclude-mapping path="/login/index"/>
<!-- 定义在 mvc:interceptor 下面的 Interceptor,表示对特定的请求进行拦截-->
<bean class="com.login.Login"/>
</mvc:interceptor>
</mvc:interceptors>