"/"의 url-patten에 대해 DispatcherServlet을 구성했습니다. @RequestMapping
내에서 값이 단지 /
, 내가 배포하고 http://host/webapp/
에 갈 경우 내가 그것을 변경하는 경우, 나는, 그러나, (404)를 얻을 수@Requestmapping ("/")은 Spring MVC에서 404를 생성합니다.
@Controller
public class HomeController {
@RequestMapping("/")
public void home() {
System.out.print("Test");
}
}
:
지금, 나는 다음과 같은 컨트롤러 코드가 /*
이면 콘솔에 Test
이 인쇄됩니다. 그것은 기본적 0 개 이상의 문자가 될 수 단지 /
*
때문에 포함한 모든 경로를 잡는다, 그러나 왜 단순히 /
에 매핑 않습니다 /*
작품으로하지 나를 위해 작동하는 이유
은 이해가?
어떻게 작동시킬 것인가보다, 나는 "왜"에 관심이 있습니다. @RequestMapping("/")
이 사용되었고 아무도 그것이 틀렸다는 것을 말하는 것처럼 보였습니다. 그래서, 왜 나를 위해서 아니겠습니까? 무슨 일이 일어나고 있는지 알고 싶습니다.
도움이 될 것입니다. 여기
내 WebApplicationInitializer입니다 : 여기public class MyWebInitializer
implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext)
throws ServletException {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.setConfigLocation("com.web");
context.setServletContext(servletContext);
servletContext.addListener(new ContextLoaderListener(context));
context.refresh();
ServletRegistration.Dynamic dispatcher = servletContext
.addServlet("DispatcherServlet", new DispatcherServlet(context));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");
System.out.println("WebInitializer.onStartup is complete");
}
}
내 자바 구성되는 "com.web"패키지에 지적 context.setConfigLocation("com.web")
선으로에 :
@Configuration
@EnableWebMvc
@ComponentScan({"com.web"})
public class SpringConfig
extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
System.out.println("Configuring static resources.");
registry.addResourceHandler("/css/**").addResourceLocations("/css/");
}
@Bean
public ViewResolver configureViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}
왜 @RequestMapping("/")
을하지 않습니다 HomeController
클래스에서 실행되지 않습니까?
. 스프링 문서화에도 그러한 예가 있습니다. http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-requestmapping – grid
의 두 번째 목록을 참조하십시오. 생각 뿐이야. 그래서, 왜 그렇지 않은가? 질문에 내 구성 (자바 기반)을 붙여 넣을 것입니다. 어쩌면 올바르게로드하지 않을 수도 있지만 잘못된 것을보기가 어렵습니다. – user1902183
Tomcat에 배포하고 있습니까? 그렇다면 어떤 버전입니까? – grid