当前位置: 首页 > 知识库问答 >
问题:

Spring interceptor可以处理xml,但不能处理config类

洪成济
2023-03-14

我目前使用的拦截器是用xml配置的,如下所示:

<mvc:interceptors>
    <bean class="org.resthub.dashboard.BasicInterceptor" />
</mvc:interceptors>

但是我想把这个放到我的配置类中:

    @Configuration
    @ComponentScan("org.resthub.dashboard")
    @EnableWebMvc
    @EnableAspectJAutoProxy(proxyTargetClass=true)
    public class WebAppConfig extends WebMvcConfigurerAdapter{

        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(new BasicInterceptor());
        }

        @Bean
        public InternalResourceViewResolver setupViewResolver() {
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
            resolver.setPrefix("/WEB-INF/views/");
            resolver.setSuffix(".jsp");
            return resolver;
        }
    }

但它不起作用,我不知道为什么。从未调用拦截器。

有什么想法吗?

谢谢你

编辑:这里是BasicIntericetor

    package org.resthub.dashboard;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.springframework.security.core.Authentication;
    import org.springframework.security.core.context.SecurityContextHolder;
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

    public class BasicInterceptor extends HandlerInterceptorAdapter {

        @Override
        public void postHandle(HttpServletRequest request,
                HttpServletResponse response, Object handler,
                ModelAndView modelAndView) throws Exception {
            // TODO Auto-generated method stub
            super.postHandle(request, response, handler, modelAndView);

            System.out.println("INTERCEPTORORRR§§§§§§");
            if (modelAndView != null && modelAndView.getModelMap() != null) {
    ...
            }
        }

    }

共有1个答案

谢英光
2023-03-14

似乎您的配置是正确的,至少如果您已验证它确实已被拾取。但是,可能是问题所在,在请求期间发生了一些事情,导致 postHandle 无法执行。确保在请求执行期间不会引发任何执行。为了验证拦截器是否确实被使用,你可以实现preHandleafterComplete,并查看这些方法是否被执行。

 类似资料:
  • XML作为一种数据交换和信息传递的格式已经十分普及。而随着Web服务日益广泛的应用,现在XML在日常的开发工作中也扮演了愈发重要的角色。这一小节, 我们将就Go语言标准包中的XML相关处理的包进行介绍。 这个小节不会涉及XML规范相关的内容(如需了解相关知识请参考其他文献),而是介绍如何用Go语言来编解码XML文件相关的知识。 假如你是一名运维人员,你为你所管理的所有服务器生成了如下内容的xml的

  • 可扩展标记语言(XML)是一种非常类似于HTML或SGML的标记语言。 这是万维网联盟推荐的,可作为开放标准提供。 .Net Framework中的System.Xml命名空间包含用于处理XML文档的类。 以下是System.Xml命名空间中的一些常用类。 Sr.No. 类和描述 1 XmlAttribute 表示属性。 属性的有效值和默认值在文档类型定义(DTD)或模式中定义。 2 XmlCDa

  • 我发布了这个问题的答案,其中OP希望正则表达式匹配不同的JSON类型数据块,条件是其中一个属性具有特定值。 稍微简化一下问题 - 假设一些示例数据如下: 正则表达式应该与匹配,但仅限于存在数据元素的地方。 我在回答中的正则表达式是: < code>layer\s*{(? 它不是明确识别包含< code>foo的匹配,而是排除那些包含< code>fee的匹配。如果所有非< code > fee -

  • 我们现在使用的spring boot版本是1.5.13.release,spring cloud版本是edgware.sr3,而spring cloud config版本是1.4.3.release。 我们使用Eureka1.7.2作为我们的注册中心,配置服务器和配置客户端是Eureka-Client。 当我们认为,因为spring cloud config是配置服务器,它应该管理应用程序的任何类

  • 我目前正在开发Jersey/Hibernate web服务(在Tomcat 9容器中),它应该能够使用和生成JSON(应用程序/JSON)和XML(应用程序/XML)。它支持GET和POST来使用这些类型。DELETE是受支持的,并且可以工作,对于JSON,GET和POST也是如此。但是,当我尝试使用XML内容类型时,我得到了一个500内部服务器错误。 结构如下:(检查下面的代码)歌曲列表(son

  • Section Contents 前言 揭示XML文档 结点树 将XML放到数据模型中 必要的XML处理 基本内容 具体细节 声明的XML处理 基本内容 具体细节