springmvc拦截器 实现判断用户是否登入的功能

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";
    }

猜你喜欢

转载自blog.csdn.net/weixin_42465206/article/details/88384552