【问题记录】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>
相关推荐
xiaodaidai丶6 小时前
解决Sa-Token在 Spring MVC + WebFlux 混合架构中流式接口报错SaTokenContext 上下文尚未初始化的问题
spring·架构·mvc
xiaodaidai丶14 小时前
Spring Web MVC的异步请求解读
spring boot·spring·mvc
Thomas.Sir14 小时前
SpringMVC 工作原理深入解析
spring·设计模式·mvc·spring mvc
毅炼20 小时前
JVM常见问题总结(2)
java·jvm·mvc
Lyyaoo.1 天前
Spring MVC中用于处理HTTP请求的常用注解
spring·http·mvc
刀法如飞13 天前
一款Go语言Gin框架MVC脚手架,满足大部分场景
go·mvc·gin
莫寒清15 天前
Spring MVC:@PathVariable 注解详解
java·spring·mvc
莫寒清17 天前
Spring MVC:@RequestParam 注解详解
java·spring·mvc
莫寒清18 天前
Spring MVC:MultipartFile 详解
java·spring·mvc