1.springmvc.xml
<!--springmvc拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<!--自定义拦截器类-->
<bean class="springmvc.interceptor.Interceptor1"/>
</mvc:interceptor>
</mvc:interceptors>
2.interceptor
public class Interceptor1 implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
//判断用户是否登入,没有登入,重定向到登入页面,不放行 。登入就放行。
String requestURI = request.getRequestURI();
if(!requestURI.contains("/login")){
String username = (String) request.getSession().getAttribute("USER_SESSION");
if(username == null ){
response.sendRedirect(request.getContextPath()+"/login.action");
return false;
}
}
return true;
}
}
3.controller
//去登入页面
@RequestMapping(value = "/login.action",method = RequestMethod.GET)
public String login(){
return "login";
}
//表单提交存储用户信息
@RequestMapping(value = "/login.action",method = RequestMethod.POST)
public String login(String username,HttpSession httpSession){
httpSession.setAttribute("USER_SESSION", username);
return "redirect:/item/itemlist.action";
}