【问题记录】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>
相关推荐
仍然.1 天前
Spring MVC(1)---介绍Spring MVC 和 请求数据
java·spring·mvc
摇滚侠3 天前
Spring MVC 不是一个单独的框架,是 Spring 框架的一个模块
java·spring·mvc
我登哥MVP4 天前
Spring Boot 从“会用”到“精通”:SpringBoot MVC 请求处理全流程
java·spring boot·后端·spring·mvc·maven·intellij-idea
摇滚侠6 天前
JavaWeb 全套教程 MVC 模式 93
mvc
代码的小搬运工6 天前
【iOS】MVC架构
ios·架构·mvc
qq_2518364578 天前
基于MVC的学校食堂点餐管理系统的设计与实现
mvc
故渊at8 天前
系列一:架构思想进阶 | 第1篇 Android 架构演进实录:从 MVC 的“万能类”到 MVVM 的数据驱动
android·架构·mvc
RR13358 天前
Spring MVC and Spring Gateway 的差异,以及报错处理
spring·gateway·mvc
gCode Teacher 格码致知9 天前
AspNet Mvc教学:Route路由切换-由Deepseek产生
mvc
gCode Teacher 格码致知10 天前
Asp.net Mvc教学: Url.Encode及Html.Encode的区别和联系-由Deepseek产生
asp.net·mvc