spring-boot
を介して埋め込みTomcatを起動し、実行中のアプリケーションの一部として静的index.html
ページを提供したい。
ただし、以下は機能しません。
@SpringBootApplication
public class HMyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@RestController
public class HomeContoller {
@RequestMapping("/")
public String index() {
return "index";
}
}
src/main/resources/static/index.html
結果:localhost:8080
を呼び出すと、Wordの「インデックス」が表示されますが、HTMLページは表示されません。どうして?
私の過ち:@EnableWebMvc
アノテーションを持つ追加のクラスがありました。これがスプリングブートの自動設定をなんとかして台無しにしました。削除して、index.html
を返すようになりました。
私にとってこれはうまくいきましたが、より良い方法があると確信しています(.htmlなしなど)。
@RequestMapping("/")
public String index() {
return "index.html";
}
ModelAndView
を使用して、スプリングブートで静的なHTMLコンテンツを提供できます。
@RequestMapping("/")
public ModelAndView home()
{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("index");
return modelAndView;
}
application.properties:-
spring.mvc.view.suffix = .html
HTMLファイル:-src/main/resources/static/index.html