【问题记录】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>
相关推荐
William_cl3 小时前
ASP.NET MVC 前置基础:宿主环境 & HttpRuntime 管道,从部署到流程拆透(附避坑指南)
后端·asp.net·mvc
William_cl2 天前
【C# OOP 入门到精通】从基础概念到 MVC 实战(含 SOLID 原则与完整代码)
开发语言·c#·mvc
William_cl4 天前
一、前置基础(MVC学习前提)_核心特性_【C# 泛型入门】为什么说 List<T>是程序员的 “万能收纳盒“?避坑指南在此
学习·c#·mvc
程序员小凯5 天前
Spring MVC 分布式事务与数据一致性教程
分布式·spring·mvc
艾菜籽5 天前
SpringMVC练习:加法计算器与登录
java·spring boot·spring·mvc
程序员小凯5 天前
Spring MVC 多租户架构与数据隔离教程
spring·架构·mvc
艾菜籽6 天前
Spring Web MVC入门补充1
java·后端·spring·mvc
艾菜籽6 天前
Spring MVC入门补充2
java·spring·mvc
风兮w6 天前
MVC、MVP和MVVM的区别
mvc
蓝天智能7 天前
QT MVC中Model的特点及使用注意事项
qt·mvc