<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*/*" />
<mvc:exclude-mapping path="/user/login" />
<mvc:exclude-mapping path="/user/logout" />
<bean class="com.interception.TestInterception"></bean>
</mvc:interceptor>
</mvc:interceptors>
package com.interception;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
/**
* 类说明
*
* @author 肖荷山
* @version 创建时间:2017年11月11日 上午11:48:50
*/
public class TestInterception implements HandlerInterceptor {
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
System.out.println("===============================执行顺序:afterCompletion");
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
System.out.println("===============================执行顺序:postHandle");
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception {
System.out.println("===============================执行顺序:preHandle");
HttpSession session = request.getSession();
ServletContext application = session.getServletContext();
if (application.getAttribute(session.getId()) == null) { // 未登录
request.getRequestDispatcher("/user/logout").forward(request, response);
return false;
} else { // 已经登录
return true;
}
}
}