spring mvc中关于继承AbstractAnnotationConfigDispatcherServletInitializer的疑问
public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class<?>[] getRootConfigClasses() {
// TODO Auto-generated method stub
return new Class<?>[] {RootConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
// TODO Auto-generated method stub
return new Class<?>[] {WebConfig.class};
}
@Override
protected String[] getServletMappings() {
// TODO Auto-generated method stub
return new String[]{"/"};
}
}
然后这个是WebConfig
@Configuration
@EnableWebMvc
@ComponentScan("spitter.web")
public class WebConfig extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver =
new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
这Controller
@Controller
@RequestMapping("/homepage")
public class HomeController {
@RequestMapping(method=RequestMethod.GET)
public String home(){
return "home";
}
}
有一个home.jsp放在WEB-INF/views里。
这是一个jnuitTest
ublic class MyTest {
@Test
public void testHomePage() throws Exception{
HomeController controller = new HomeController();
MockMvc mockMvc = MockMvcBuilders.standaloneSetup(controller).build();
mockMvc.perform(MockMvcRequestBuilders.get("/homepage"))
.andExpect(MockMvcResultMatchers.view().name("home"));
}
运行的时候没有任何问题 Jnuit也没有问题 但是在Tomcat中运行的时候就404错误
HTTP Status 404 - /SpringinAction/homepage
type Status report
message /SpringinAction/homepage
description The requested resource is not available.
Apache Tomcat/8.0.33