Tomcat底层原理分析:5.Web应用配置解析

【专栏目录】
Tomcat底层原理分析:1.基础环境搭建
Tomcat底层原理分析:2.Tomcat架构分析
Tomcat底层原理分析:3.Jasper引擎
Tomcat底层原理分析:4.Tomcatd的server.xml配置内容解析
Tomcat底层原理分析:5.Web应用配置解析
Tomcat底层原理分析:6.Tomcat中对JVM的配置解析
Tomcat底层原理分析:7.Tomcat集群配置解析
Tomcat底层原理分析:8.Tomcat安全性配置解析
Tomcat底层原理分析:9.Tomcat性能调优
【本文导读】

本文主要对web.xml的配置内容进行解析,请务必认真看注释。

1.web.xml配置文件内容解析

web.xml配置文件在Tomcat和JavaWeb项目中都有,优先使用JavaWeb项目中的web.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         id="WebApp_ID" version="3.0">

    <!-- 注册servlet -->
    <servlet>
        <!-- 名称 -->
        <servlet-name>springmvc</servlet-name>
        <!-- Servlet类 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <!-- SpringMVC配置参数文件的位置 -->
            <param-name>contextConfigLocation</param-name>
            <!-- 这里是存放在resources目录下的springmvc-servlet.xml -->
            <param-value>classpath*:spring-mvc.xml</param-value>
        </init-param>
        <!-- 启动web应用时,加载该servlet类的顺序,数字越小,加载越早;如果小于0或者不配置该项,则不加载,只有第一次访问该servlet类时才加载 -->
        <load-on-startup>1</load-on-startup>
        <!-- 设置为true代表web应用启动时,加载该servlet;为false,则不加载 -->
        <enabled>true</enabled>
    </servlet>

    <!-- 所有请求都会被springmvc拦截 -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <!-- 拦截以/开头的url,如:127.0.0.1:8080/为默认访问路径 -->
        <!-- 如果这里设置为/aaa,则:127.0.0.1:8080/aaa为默认访问路径 -->
        <!-- 该参数可以配置多个,即多个url都可以被拦截,即可以设置多个默认访问路径 -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    <!-- 设置session的超时时间为30分钟 -->
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>

    <!-- ----------------------------------------------- -->
    
    <!-- 以下配置,根据不同的JavaWeb项目,设置不同的内容 -->
    <!-- ServletContext初始化参数 -->
    <context-param>
        <!-- 设置参数名为student_name -->
        <param-name>student_name</param-name>
        <!-- 设置参数值为wangye -->
        <param-value>wangye</param-value>
        <!-- 然后代码中就可以通过 new HttpServlet().getServletContext().getInitParameter("student_name"); 获取到参数值wangye -->
    </context-param>

</web-app>

猜你喜欢

转载自blog.csdn.net/w_y_x_y/article/details/106931163