Servlet3.0——整合SpringMVC的Demo
阿新 • • 發佈:2018-12-21
1、Spring容器:並不需要@Configuration註解
@ComponentScan(value = "com.bdm", excludeFilters = {
@Filter(type = FilterType.ANNOTATION, classes = { Controller.class }) })
public class RootConfig {
}
2、SpringMVC容器:並不需要@Configuration註解
@ComponentScan(value = "com.bdm", useDefaultFilters = false, includeFilters = { @Filter(type = FilterType.ANNOTATION, classes = { Controller.class }) }) public class AppConfig { }
useDefaultFilters = false, includeFilters = { @Filter(type = FilterType.ANNOTATION, classes = { Controller.class }) }) public class AppConfig { }
3、controller
@Controller public class HelloController { @Autowired HelloService helloService; @ResponseBody @RequestMapping("/hello") public String sayHello(){ String sayHello = helloService.sayHello("tomcat"); return sayHello; } }
@ResponseBody @RequestMapping("/hello") public String sayHello(){ String sayHello = helloService.sayHello("tomcat"); return sayHello; } }
4、service
@Service
public class HelloService {
public String sayHello(String name){
return "Hello " + name;
}
}
5、AbstractAnnotationConfigDispatcherServletInitializer的實現類
public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { RootConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] { AppConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
攔截的路徑,此處配置的"/":表示攔截除*.jsp之外的所有請求,*.jsp的解析是由tomcat的jsp引擎負責的;若配置成"/*"則會連*.jsp也會攔截,導致jsp無法解析
6、訪問: