Spring MVC の url-pattern マッピングがどのように機能するのか混乱しています。
「getServletMappings」が「/」を返すと、「 http://localhost:8080/hello 」で正しい応答を得ることができます。
"/app" に変更し、URL を " http://localhost:8080/app/hello " に変更すると機能しません。404 エラーが返されます。
私は何か誤解していますか、「/ app / *」は機能することがわかります(これは理解できます)が、「/ app」はなぜ機能しないのですか?
私のコードを確認してください:
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected String[] getServletMappings() {
// works with http://localhost:8080/hello
return new String[] {
"/"
};
// NOT working with http://localhost:8080/app/hello
// return new String[] {
// "/app"
//};
}
}
@RestController
public class HTTPMethodsController {
@RequestMapping("/hello")
public String hello() {
return "Hello SpringMVC.";
}
}