SSM中web.xm主要l标签的解释

还有个别标签后面再补上
其他文章的链接:可以结合一下
web.xml详解 及 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="dataservice" version="3.0">
	<!--指明项目名称 -->
    <display-name>dataservice application</display-name>

    <!--    配置ContextLoader监听器-->
    <!--    在这个类中的定义了一个初始化容器方法,即当监听到ServletContext创建的时候,就会触发并创建spring容器-->
    <!--
    初始化的源码方法:
        public void contextInitialized(ServletContextEvent event) {
            initWebApplicationContext(event.getServletContext());
        }
    -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- spring监听器加载applicationContext.xml配置文件 -->
    <!--    其默认的 Spring 配置文件位置与名称为:WEB-INF/applicationContext.xml-->
    <!-- 可以通过下面的进行自定义-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <!-- spring字符过滤器 通过过滤器进行编码的统一-->
    <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>
        <!--        强制request使用encoding字符集-->
        <init-param>
            <param-name>forceRequestEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
        <!--        强制response使用encoding字符集-->
        <init-param>
            <param-name>forceResponseEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <!--        指定过滤的请求-->
        <url-pattern>/ *</url-pattern>
    </filter-mapping>

    <!-- Spring mvc分发servlet -->
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--        指定文件的位置
        即默认要从项目根下的 WEB-INF 目录下找名称为 Servlet 名称-servlet.xml 的配置文件
        -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext-mvc.xml</param-value>
        </init-param>
        <!--        指定加载的时机-->
        <!--        标记是否在Web服务器(这里是Tomcat)启动时会创建这个 Servlet 实例-->
        <!--        即是否在 Web 服务器启动时调用执行该 Servlet 的 init()方法,而不是在真正访问时才创建-->
        <!--
        它的值必须是一个整数。
        当值大于等于 0 时,表示容器在启动时就加载并初始化这个 servlet,数值越小,该 Servlet
        的优先级就越高,其被创建的也就越早;
        当值小于 0 或者没有指定时,则表示该 Servlet 在真正被使用时才会去创建。
        当值相同时,容器会自己选择创建顺序。
        -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <!-- 为什么要这样写呢? -->
        <!-- 我觉得一方面是方便区分url(界面和servlet请求) 另一方面就是springmvc默认使用后缀匹配原则,文章在最后 -->
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    <!-- 欢迎页,默认进入index controller -->
    <welcome-file-list>
        <welcome-file>/</welcome-file>
    </welcome-file-list>
</web-app>

*.do的原因(应该是这样吧?嘿)
路径模式与后缀匹配

posted @ 2022-10-12 19:47  yfs1024  阅读(40)  评论(0)    收藏  举报