我正在嘗試運行一個簡單的 Spring 應用程式,但這是不可能的。
我有這個控制器:
@Controller("home")
public class Home {
@RequestMapping("/showHome")
public String showHome(){
return "index";
}
}
這是ViewResolver:
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/view/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
當我像這樣運行這個程式時,我得到的404 not foundURL 是:http://localhost:8080/E-CommerceFinal-1.0-SNAPSHOT/
但是,當我像這樣更改控制器類和方法時:
@Controller
public class Home {
@RequestMapping("/")
public String showHome(){
return "index";
}
}
我的索引頁有效。
uj5u.com熱心網友回復:
在你的第一個版本中,@Controller("home")它所做的只是設定home為Homebean 名稱,沒有別的。重要的是@RequestMapping("/showHome")。有了這個,您是說您的showHome()方法將在http://localhost:8080/E-CommerceFinal-1.0-SNAPSHOT/showHome.
在您的第二個版本中,您使用的是@RequestMapping("/")which 沒有設定額外的路徑,這就是為什么http://localhost:8080/E-CommerceFinal-1.0-SNAPSHOT/有效。
uj5u.com熱心網友回復:
如果您嘗試將所有端點的路徑設定為以“home”開頭,則需要
@Controller
@RequestMapping("/home")
public class Home {
@RequestMapping("/showHome")
public String showHome(){
return "index";
}
...
@RequestMapping("/someOtherEndpoint")
public String someOtherEndpoint(){
}
}
以上內容可在 http://localhost:8080/E-CommerceFinal-1.0-SNAPSHOT/home/showHome 和 http://localhost:8080/E-CommerceFinal-1.0-SNAPSHOT/home/someOtherEndpoint 獲得
否則,正如有人提到的,您只需設定 bean 本身的名稱,然后使用您在 showHome 端點上宣告的“/”路徑。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/331667.html
