当web项目启动服务器(tomcat)时,首先加载web.xml,加载完成后才会启动项目。
<display-name > 项目名</display-name >
加载web.xml时最先加载其中的 < context-param >和< listener>节点。
< context-param >加载项目配置文件和log4j配置等
<context-param >
<param-name > contextConfigLocation</param-name >
<param-value >
classpath:applicationContext-*.xml
</param-value >
</context-param >
<context-param >
<param-name > logbackConfigLocation</param-name >
<param-value > classpath:logback.xml</param-value >
</context-param >
<context-param >
<param-name > webAppRootKey</param-name >
<param-value > dgztc-web</param-value >
</context-param >
<listener >
<listener-class > org.springframework.web.context.ContextLoaderListener</listener-class >
</listener >
<listener >
<listener-class > ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class >
</listener >
<listener >
<listener-class > org.springframework.web.context.request.RequestContextListener</listener-class >
</listener >
然后根据指定的地址加载< filter>过滤器
<filter >
<filter-name > encodingFilter</filter-name >
<filter-class > org.springframework.web.filter.CharacterEncodingFilter</filter-class >
<init-param >
<param-name > encoding</param-name >
<param-value > UTF-8</param-value >
</init-param >
<init-param >
<param-name > forceEncoding</param-name >
<param-value > true</param-value >
</init-param >
</filter >
<filter-mapping >
<filter-name > encodingFilter</filter-name >
<url-pattern > /*</url-pattern >
</filter-mapping >
加载顺序:< context-param > 优先于< listener>优先于< /filter>。这些都是在项目启动前加载的。
servlet是在项目启动后,第一次请求时创建的,所有必须在以上节点之后进行加载。
<servlet >
<servlet-name > springServlet</servlet-name >
<servlet-class > org.springframework.web.servlet.DispatcherServlet</servlet-class >
<init-param >
<param-name > contextConfigLocation</param-name >
<param-value > classpath:dispatcher-*.xml</param-value >
</init-param >
<load-on-startup > 1</load-on-startup >
<async-supported > true</async-supported >
</servlet >
<servlet-mapping >
<servlet-name > springServlet</servlet-name >
<url-pattern > /</url-pattern >
</servlet-mapping >
设置项目启动完成跳转到指定欢迎页
<welcome-file -list >
<welcome-file >login.jsp</welcome-file >
</welcome-file -list >
根据http请求返回的错误码设置跳转到指定的页面。
<error-page >
<error-code > 404</error-code >
<location > /WEB-INF/views/common/error/404.jsp</location >
</error-page >
<error-page >
<error-code > 403</error-code >
<location > /WEB-INF/views/common/error/403.jsp</location >
</error-page >