假設我有Spring Rest API,名爲application
,它的請求映射到/api
。這意味着我打電話例如GET
方法來獲取用戶的列表:Spring Rest API和不帶後綴的靜態Web內容訪問
localhost:8080/application/api/users
運作良好。我的目標是讓簡單的靜態html文件與此API一起引用對方。我需要找到index.html
文件並將其作爲主頁。
localhost:8080/application/
它正確地顯示我index.html
使用:
@RequestMapping(value = "/", method = RequestMethod.GET)
public String homePage(ModelMap model) {
return "home";
}
和
@Configuration
@ComponentScan(basePackages = "net.nichar.application")
@EnableWebMvc
public class ApplicationConfiguration extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/pages/");
resolver.setSuffix(".html");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
在哪裏我鬥爭了另一個文件與<a href=...>
導航在同一文件夾index2.html
,index3.html
而不需要明確寫出後綴html
。我試圖實現訪問像
localhost:8080/application/index2
的網頁,而無需使用其他@RequestMapping(除了第一個映射的主頁)。
還有一個問題,有沒有辦法在路徑導航中「跳過」文件夾?爲了清楚起見,我希望把這些HTML文件webapp/static
文件夾,但是我有訪問他們喜歡
localhost:8080/application/static/...
我試圖遵循的教程不久有關Spring資源映射,但是他們沒有人描述的解決任何類似的問題。我不使用Spring Boot。
謝謝你的幫助。
不久:
如何訪問文件 - >使用:
webapp/WEB-INF/pages/index.html --> localhost:8080/application
webapp/static/index2.html --> localhost:8080/application/index2
webapp/static/index3.html --> localhost:8080/application/index3
可能重複[Spring Boot not serving static content](https://stackoverflow.com/questions/24661289/spring-boot-not-serving-static-content) –
@AbhijitSarkar不,我不使用Spring啓動:) –
好吧,我回縮我的近距離投票,因爲我提到的答案是特定於Boot。 –