当前位置:   article > 正文

SpringMVC底层实现原理

springmvc底层实现原理

       当项目启动了Tomcat后,服务器会去当前wabapp的路径下去读取配置文件,然后解析其中配置的DispathServlet,在DispathServlet中会创建一个Spring容器,去扫描我们的Contorller等各个由Spring管理的bean对象,在DispathServlet的源码中,是需要将Spring容器给到DispathServlet当中,也就相当于在DispathServlet中内嵌一个Spring容器,从而实现对目标资源的调用。

XML配置方式:

  1. <web-app>
  2. <listener>
  3. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  4. </listener>
  5. <context-param>
  6. <param-name>contextConfigLocation</param-name>
  7. <param-value>/WEB-INF/app-context.xml</param-value>
  8. </context-param>
  9. <servlet> <servlet-name>app</servlet-name>
  10. <servlet-class>org.springframework.web.servlet.DispatcherServlet
  11. </servlet-class>
  12. <init-param>
  13. <param-name>contextConfigLocation</param-name>
  14. <param-value></param-value>
  15. </init-param>
  16. <load-on-startup>1</load-on-startup>
  17. </servlet>
  18. <servlet-mapping>
  19. <servlet-name>app</servlet-name> <url-pattern>/app/*</url-pattern>
  20. </servlet-mapping>
  21. </web-app>

JavaConfig配置方式:

  1. public class MyWebApplicationInitializer implements WebApplicationInitializer {
  2. @Override
  3. public void onStartup(ServletContext servletContext) {
  4. // Load Spring web application configuration
  5. AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
  6. context.register(AppConfig.class);
  7. // Create and register the DispatcherServlet
  8. DispatcherServlet servlet = new DispatcherServlet(context);
  9. ServletRegistration.Dynamic registration = servletContext.addServlet("app", servlet);
  10. registration.setLoadOnStartup(1);
  11. registration.addMapping("/app/*");
  12. }
  13. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/67772
推荐阅读
相关标签
  

闽ICP备14008679号