web.xml中可以存在主要的节点(有些节点不介绍了)有如下:
1. context-param
声明应用范围内的初始化参数。它用于向 ServletContext提供键值对。我们可以通过在程序中获取这些键值对。
定义方式如下:
<context-param>
<param-name>ContextParameter</para-name>
<param-value>test</param-value>
<description>It is a test parameter.</description>
</context-param>
2. listener
监听器,在servlet中有三种主要的监听器。分别是监听ServletContext的,监听Session,监听Request的。
第一种,监听上下文对象的
- ServletContextLoaderListenter
- ServletContextAttributeListener
第二种,监听Session的 - HttpSessionListener接口:对Session的整体状态的监听。
- HttpSessionAttributeListener接口:对session的属性监听。
第三种,监听Request的 - ServletRequestListener:用于对Request请求进行监听(创建、销毁)。
- ServletRequestAttributeListener:对Request属性的监听(增删改属性)。
配置代码如下:
<listener>
<listener-class>com.listener.class</listener-class>
</listener>
在spring项目中,可以添加如下配置文件
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
让springmvc的ContextLoaderListener加载spring的配置。
3. filter
过滤器,可以实现过滤器接口实现某些功能,比如字符编码过滤
基本的配置如下:
<filter>
<filter-name>setCharacterEncoding</filter-name>
<filter-class>com.myTest.setCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>setCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4. servlet
这个就不做介绍了
<servlet>
<servlet-name>registerServlet</servlet-name>
<servlet-class>com.tianmaying.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>registerServlet</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
将特定的servlet交给servlet处理
5. 执行顺序
按照这个顺序执行context-param -> listener -> filter -> servlet