配置Inteceptor拦截器

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

创建一个web项目,在src目录创建一个inteceptor包,里面创建一个inteceptor拦截类
在这里插入图片描述
创建interceptor拦截类[右键包名,新建一个class类,类名为自定义类名]
在这里插入图片描述
拦截类内容为

public class CheckLoginInteceptor implements HandlerInterceptor {
    public void afterCompletion(HttpServletRequest arg0,
            HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        // TODO Auto-generated method stub
    }
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2, ModelAndView arg3) throws Exception {
        // TODO Auto-generated method stub
    }
    public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2) throws Exception {
        // TODO Auto-generated method stub
        /**
         * 拦截器  未登录 则不让访问
         */
        Object attribute = arg0.getSession().getAttribute("emptel");
        if(attribute==null){
            arg1.sendRedirect(arg0.getContextPath()+"/backlogin.jsp");
            return false;
        }
        return true;
    }
}

在preHandle方法里写登录拦截,如果没有得到登录session的值的话就不让访问,在controller层登录方法里已经写过如果登录成功则要记录session值。
在这里插入图片描述
在自定义配置文件中配置拦截器的相应配置。
在这里插入图片描述
配置内容为

<mvc:interceptors>
                <mvc:interceptor>
                           <mvc:mapping path="/*/*"/>
                           <bean  class="com.aaa.inteceptor.CheckLoginInteceptor"></bean>
                </mvc:interceptor>
</mvc:interceptors>

拦截器配置结束。

猜你喜欢

转载自blog.csdn.net/weixin_44001965/article/details/92582028
今日推荐