我正在编写基本的spring mvc应用程序,它没有基于xml配置的注释。我试图访问像html文件 “localhost:9090 / help.html”但我收到错误 在DispatcherServlet中找不到带有URI [/help.html]的HTTP请求的映射,名称为“dispatcher”
这是我的配置
@EnableWebMvc
@Configuration
@ComponentScan({ "com.example.test" })
public class WebConfig extends WebMvcConfigurationSupport {
@Bean
public InternalResourceViewResolver internalResourceViewResolver(){
InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
internalResourceViewResolver.setViewClass(JstlView.class);
internalResourceViewResolver.setPrefix("/jsp/");
internalResourceViewResolver.setSuffix(".jsp");
return internalResourceViewResolver;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/*");
registry.addResourceHandler("/**/*").addResourceLocations("/templates/*");
}
}
我的html页面在里面 webapp-> templates
我在这里尝试了很多问题,但没有一个帮助,所有这些都与xml配置相关
任何建议??
答案 0 :(得分:0)
好的,我想出来了。这只是一个愚蠢的错误。在addResourceLocations
我最后删除了*
,宾果发布了已解决的
所以这是错误的
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/*");
正确的表格是
registry.addResourceHandler("/resources/**").addResourceLocations("/resources");
现在我可以像
一样直接访问html页面localhost:8080/resources/help.html
即使现在也可以
localhost:8080/help.html
因为我已将另一个资源处理程序添加为addResourceHandler("/*\*/**")