【问题记录】mvc配置拦截器xml生效而配置类不生效

问题是使用xml配置生效,但是代码配置失效,找了很久,基本上没看到这个问题,有也没有解决方案,唉。

先记录一下xml的方式,后续再查查。

1.创建登录拦截器

复制代码
public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String requestURI = request.getRequestURI();
        System.out.println("requestURI: " + requestURI);
        //检测此时的登录状态  session
        HttpSession session = request.getSession();
        Object client = session.getAttribute("client");//获取登录状态 如果没有登录
        if (client == null) {
            response.setStatus(401);
            return false;
        }
        //如果存在
        BaseContext.setCurrentClient((Client) client);
        return true;
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        BaseContext.removeClient();
    }
}

2.在xml中注册

网上好多让去掉<mvc:annotation-driven>的,这个可万万不能去掉啊。

复制代码
    <!--开启springmvc-->
    <mvc:annotation-driven/>
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**" />
            <mvc:exclude-mapping path="/client/login"/>
            <mvc:exclude-mapping path="/client/register"/>
            <bean class="com.qcby.config.LoginInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>
相关推荐
Cyan_RA910 小时前
SpringMVC 请求数据绑定与参数映射 详解
java·后端·spring·mvc·springmvc·映射请求数据
Cyan_RA92 天前
SpringMVC REST 详解
java·spring·mvc·springmvc·restful·jquery·jsp
budingxiaomoli5 天前
Spring Web MVC 知识总结
spring·mvc
虾米Life6 天前
MVC与MVVM 架构
架构·mvc·mvvm
笛卡尔的心跳8 天前
Spring MVC 注解
java·spring·mvc
小松加哲9 天前
Spring MVC 核心原理全解析
java·spring·mvc
那个失眠的夜9 天前
RESTful 语法规范 核心注解详解
java·spring·mvc·mybatis
羌俊恩10 天前
Centos环境django项目部署过程
django·flask·centos·mvc·mtv·web项目框架
Foreer黑爷12 天前
Spring MVC原理与源码:从请求到响应的全流程解析
java·spring·mvc
曹牧13 天前
Spring MVC中使用HttpServletRequest和HttpServletResponse
java·spring·mvc