web.xml中几个标签概念解释一下

  • Servlet相当于PHP
  • org.springframework.web.context.ContextLoaderListener相当于ThinkPHP的核心包

  • servlet和Filter初始化前和销毁后,都会给实现了servletContextListener接口的监听器发出相应的通知。
  • ContextLoadListener的定义,实现了上面的servletContextListener。这里用到了代理模式,简单的代理了ContextLoader类。ContextLoadListener类用来创建Spring application context,并且将application context注册到servletContext里面去。
  • 在 Servlet API中有一个ServletContextListener接口,它能够监听ServletContext对象的生命周期,实际上就是监听Web应用的生命周期。当Servlet容器启动或终止Web应用时,会触发ServletContextEvent事件,该事件由ServletContextListener来处理。在ServletContextListener接口中定义了处理ServletContextEvent 事件的两个方法contextInitialized()和contextDestroyed()。ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置了这个监听器,启动容器时,就会默认执行它实现的方法。由于在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。

    SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  • 综上,ContextLoaderListener类起着至关重要的作用。它读取web.xml中配置的context-param中的配置文件,提前在web容器初始化前准备业务对应的Application context;将创建好的Application context放置于ServletContext中,为springMVC部分的初始化做好准备。
  • DispatchServlet就类似TP的前端入口index.php
  • Filter,主要作用:统一设置字符集等。依赖于servlet容器,过滤器实例只在初始化的时候调用一次。

 

applicationContext.xml相关

  • context:component-scan:在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean(bean就是实现了gettter和setter的一个类,用来和数据库交互,和PHP中的model类似)

 

pom.xml相关

  • profiles标签下有两个profile分别对应了本地和线上两个环境,分别对应了main/resource/distribute/local|server, 两套配置,本地运行mvn clean package -Plocal -DVERSION=12345 -Dmaven.test.skip=false tomcat:run,线上应该是mvn clean package -Pserver -DVERSION=12345 -Dmaven.test.skip=false tomcat:run?

项目命令相关

  • 本地运行btob-service:  mvn clean package -Plocal -DVERSION=12345 -Dmaven.test.skip=false tomcat:run

     

     

 

 

 

applicationContext.xml的解释:https://www.cnblogs.com/cczz_11/p/4363314.html

Spring MVC启动过程详解:https://www.cnblogs.com/RunForLove/p/5688731.html

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄