SpringWebAppInitializer.java
public class SpringWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] { RootConfig.class };
}
// 指定配置类,即javaConfig
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { WebConfig.class };
}
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
RootConfig.java
@Configuration
@ComponentScan(basePackages = { "cn.simfg.note.web" }, excludeFilters = {
@ComponentScan.Filter(type = FilterType.ANNOTATION, value = EnableWebMvc.class) })
public class RootConfig {
}
WebConfig.java
@Configuration
//启用注解驱动的spring mvc
@EnableWebMvc
@ComponentScan(basePackages = {"cn.simfg.note.web.controller"})
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
internalResourceViewResolver.setViewClass(org.springframework.web.servlet.view.JstlView.class);
internalResourceViewResolver.setPrefix("/WEB-INF/views/");
internalResourceViewResolver.setSuffix(".jsp");
internalResourceViewResolver.setExposeContextBeansAsAttributes(true);
return internalResourceViewResolver;
}
// 处理静态资源的时候,将请求转发到Servlet容器中默认的Servlet上
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
super.configureDefaultServletHandling(configurer);
}
}
HomeController.java
@Controller
public class HomeController {
@RequestMapping(value = "home", method = GET)
public String home() {
System.out.println("aaa");
return "home";
}
}
请求localhost:8080/spring/home返回404,其中localhost:8080/spring/是项目根路径,home.jsp也是存在的,在控制器那一块打断电,请求是无效