Spring引导映射静态html
问题描述:
我想创建spring引导web应用程序。Spring引导映射静态html
我有两个静态html文件:one.html,two.html。
我想将它们映射如下
localhost:8080/one
localhost:8080/two
不使用模板引擎(Thymeleaf)。
如何做到这一点?我尝试了很多方法来做到这一点,但我有404错误或500错误(循环视图路径[one.html]:将分派回当前的处理程序URL)。
OneController.java是:
@Controller
public class OneController {
@RequestMapping("/one")
public String one() {
return "static/one.html";
}
}
项目结构是
答
请更新您的WebMvcConfig并包含UrlBasedViewResol ver和/静态资源处理程序。 Mine WebConfig类看起来如下:
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
super.addResourceHandlers(registry);
}
@Bean
public ViewResolver viewResolver() {
UrlBasedViewResolver viewResolver = new UrlBasedViewResolver();
viewResolver.setViewClass(InternalResourceView.class);
return viewResolver;
}
}
我检查了它,似乎工作。
Maciej的回答基于浏览器的重定向。我的解决方案返回静态没有浏览器交互
答
如果你不关心的其他浏览器重定向你可以使用这个:
@Controller
public class OneController {
@RequestMapping("/one")
public String one() {
return "redirect:/static/one.html";
}
}
+0
也适用,谢谢! – megasoch
哇,你真棒,多数民众赞成在工作。谢谢! – megasoch
这是解决这个问题的最好方法 –