我有一个像这样的 spring MVC 配置类:

@Configuration  
@EnableWebMvc 
public class WebConfig extends WebMvcConfigurerAdapter{ 
@Bean 
public InternalResourceViewResolver configureInternalResourceViewResolver()   { 
    InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
    resolver.setPrefix("/WEB-INF/views/"); 
    resolver.setSuffix(".jsp"); 
    return resolver; 
} 
 
@Override 
public void addResourceHandlers(ResourceHandlerRegistry registry) { 
    registry.addResourceHandler("/resources/**").addResourceLocations( 
            "/resources/"); 
} 
 
 
} 

我在使用尾部斜杠映射 URL 时遇到问题,类似于 this .所以我想添加 RequestMappingHandlerMapping 类,但根据我得到的指令 there我需要扩展 WebMvcConfigurationSupport 类并实现requestMappingHandlerMapping() 方法,但不幸的是我已经为资源映射扩展了WebMvcConfigurationSupport 类。有什么方法可以将请求映射处理程序添加到我的类中吗?

注意:我使用的是 Spring 版本 3.1.1.RELEASE

请您参考如下方法:

我没有从你的问题中得到为什么你不能使用 WebMvcConfigurationSupport .如果根据你提到的“......不幸的是我已经扩展了资源映射的WebMvcConfigurationSupport类......”你更确切地说你已经扩展了 WebMvcConfigurerAdapter,您应该知道 WebMvcConfigurationSupport 公开了完全相同的方法。

无论如何,以下应该是 Spring MVC 3.1 版本的有效 java 配置

@Configuration 
@EnableWebMvc 
public class WebConfig extends WebMvcConfigurationSupport { 
 
    @Override 
    @Bean 
    public RequestMappingHandlerMapping requestMappingHandlerMapping() { 
        RequestMappingHandlerMapping hm = super.requestMappingHandlerMapping(); 
        hm.setUseSuffixPatternMatch(false); 
        return hm; 
    } 
 
    @Bean 
    public InternalResourceViewResolver configureInternalResourceViewResolver() { 
        InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
        resolver.setPrefix("/WEB-INF/views/"); 
        resolver.setSuffix(".jsp"); 
        return resolver; 
    } 
 
    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
        registry.addResourceHandler("/resources/**").addResourceLocations( 
                "/resources/"); 
    } 
} 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!