Web.xml配置项说明

本文详细介绍了web应用容器配置中的context-param、listener、filter、servlet等关键配置项的用法、参数及应用场景,帮助开发者深入理解web应用容器的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,配置项清单

  1. context-param
  2. listener
  3. filter
  4. servlet
  5. session-config
  6. error-page
二,配置项详解

         1,context-param
              样例:
            <context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring-config.xml</param-value>
	   </context-param>

          说明: 在web应用容器(Tomcat)中,web应用启动时,
                      处理顺序:加载web.xml文件-->创建 ServletContext-->解析context-param为 key-value方式,放入ServletContext中
                      供后续listener、filter、servlet等使用(通过 value = getServletContext().getInitParameter("key") 方式获取 )

         2,listener

             样例:
      <listener>
	<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
      </listener>
      <listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
            说明:IntrospectorCleanupListener 防止内存泄露使用
                        ContextLoaderListener spring-web环境下,spring容器创建工作在此类中完成,同时负责springMVC核心servlet父上下文创建;

        3,filter

	<filter>
		<filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>
		<servlet-name>mvcServlet</servlet-name> 
	</filter-mapping>

               说明:主要负责 request,response的  servlet处理前,处理后的 增强过滤处理;
                           过滤条件,根据filter-mapping定义
                           可以按照 servlet-name:指定servletName的方式过滤,此时等价于使用servlet对应的url-pattern
                                            url-pattern:指定url匹配方式过滤
                                            dispatcher:可以有多个,取值有4个REQUEST,FORWARD,INCLUDE和ERROR,表示4类从客户端过滤的request请求
                                                                   如:request-从客户端直接过来的request, forward-从客户端forward过来的request, include-从客户端include过来的request
                                                                            error-通过<error-page>从客户端过来的request
                   
                                            
            4, servlet
                 样例:
	<servlet>
		<servlet-name>mvcServlet</servlet-name>
	 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:mvc/config.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>mvcServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

                   说明:主要负责处理匹配的request;


              5,session-config
               样例:
<session-config>
  <session-timeout>30</session-timeout>
</session-config>
               说明:单位分钟

            6,error-page
              样例:
<error-page>
  <error-code>404</error-code>
  <location>/error/404.html</location>
</error-page>
            说明:根据错误码<error-code>,或者错误异常类型<exception-type> 跳转到指定错误页



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值