SpringMVC拦截器

SpringMVC拦截器配置

拦截器通常用来对用户是否登录进行判断,如果登录,那么就可以访问只能在登陆后才能访问的地址

首先是拦截器类的编写(拦截器类应当继承HandlerInterceptorAdapter)

public class LoginInterceptor extends HandlerInterceptorAdapter {

    public boolean preHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler) throws Exception {

        HttpSession session = request.getSession();
        User user = (User) session.getAttribute("usersession");

        if (user != null) {
            return true;
        } else {
            response.sendRedirect(request.getContextPath()
                    + "/welcomes/welcome.do");
            return false;
        }
    }

    /**
     * 在业务处理器处理请求执行完成后,生成视图之前执行的动作 可在modelAndView中加入数据,比如当前时间
     */

    public void postHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler,
            ModelAndView modelAndView) throws Exception {
    }

    /**
     * 在DispatcherServlet完全处理完请求后被调用,可用于清理资源等
     * 
     * 当有拦截器抛出异常时,会从当前拦截器往回执行所有的拦截器的afterCompletion()
     */

    public void afterCompletion(HttpServletRequest request,
            HttpServletResponse response, Object handler, Exception ex)
            throws Exception {
    }

}

在该类中的preHandle方法中可以向session中添加用户信息,在后面的操作中可以对用户身份进行判断

<mvc:interceptors>
    <!-- 登录权限拦截器 -->
    <mvc:interceptor>
        <mvc:mapping path="/**" />
        <mvc:exclude-mapping path="/welcomeController/*"/>
        <mvc:exclude-mapping path="/loginController/login.do"/>
        <mvc:exclude-mapping path="/loginController/check.do"/>
        <mvc:exclude-mapping path="/loginController/exit.do"/>
        <mvc:exclude-mapping path="/registController/*"/>
        <bean class="com.interceptor.LoginInterceptor">
        </bean>
    </mvc:interceptor>
</mvc:interceptors>

exclude-mapping当中的路径是不被拦截的路径

这是springmvc配置文件当中关于拦截器的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值