スプリングブートを使用して静的なhtml(index.html
)ページを返そうとしていますが、私はいつも試してみると405エラーを受けています(http://localhost:8080/)。奇妙な事実は、デバッガがindex()
メソッドを入力することです。スタティックhtmlスプリングブートのエラーコード
HomeController:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class HomeController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String index() {
return "index.html";
}
}
私は"index.html"
と "インデックス" の文字列を返すようにしようとしています。 htmlファイルの
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
@SpringBootApplication
public class Application {
public static void main(String[] args) throws InterruptedException {
ConfigurableApplicationContext applicationContext
= SpringApplication.run(Application.class, args);
}
}
場所は次のとおりです。ここ src\main\resources\public\index.html
は、起動ロガー出力の一部を行く:
INFO 8284 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],methods=[GET]}" onto public java.lang.String com.acs.map.controller.HomeController.index()
のScreanshotと私はプロジェクトを実行していますグラデル:gradle bootRun
要求後のロガーメッセージ:
WARN 3988 --- [nio-8080-exec-6] o.s.web.servlet.PageNotFound : Request method 'GET' not supported
また、私はこの構成ではとせずに試してみました:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceView;
import org.springframework.web.servlet.view.UrlBasedViewResolver;
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/public/**").addResourceLocations("classpath:/public/");
registry.addResourceHandler("/resources/public/**").addResourceLocations("classpath:/resources/public/");
super.addResourceHandlers(registry);
}
@Bean
public ViewResolver viewResolver() {
UrlBasedViewResolver viewResolver = new UrlBasedViewResolver();
viewResolver.setViewClass(InternalResourceView.class);
return viewResolver;
}
}
ではなく、 "index.htmlを" だけ "インデックス" を使用してみてくださいです。個人的には、サフィックスを使う必要は一度もありません。また、なぜあなたのURLにバックスラッシュを使用しましたか?スラッシュを使用する必要があります。 – cst1992
"index"と "index.html"のどちらも機能しません。どのバックスラッシュについて話していますか? – yurii
'src \ main \ resources \ public \ index.html'これらのものです。 – cst1992