springmvc--拦截器---简单应用

拦截器类代码:

public class HandleInterceptor1 implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        // get uri
        String uri = request.getRequestURI();
        // 不拦截登录页面
        if(!uri.contains("/login")){
            Object username = request.getSession().getAttribute("username");
            if (username == null) {
                response.sendRedirect(request.getContextPath()+"/index.jsp");
                // username为null不放行
                return false;
            }
        }
        // 放行
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("postHandle");
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("afterCompletion");
    }
}

 

springmvc配置:

<mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <bean class="com.jove.interceptor.HandleInterceptor1"></bean>
        </mvc:interceptor>

</mvc:interceptors>

控制层:

@RequestMapping(value = "login")
    public String login(String username,HttpSession session) {
        // 校验用户登录

        System.out.println(username);

        // 把用户名放到session中
        session.setAttribute("username", username);

        return "redirect:/items/list.do";
    }

 

posted on 2018-02-06 15:14  jovelove  阅读(88)  评论(0)    收藏  举报