Web.xml是Web应用部署的重要的描述条件,它支持的元素及属性来自于Servlet规范定义。在tomcat中,Web应用的部署描述信息文件包括tomcat/conf/web.xml以及Web应用的WEB-INF/web.xml下的文件。
由于该对象比较常用,这里不做多余的描述。开发的都应该了解该对象。
<context-param>
<param-name>name</param-name>
<param-value>value</param-value>
<description>descript</description>
</context-param>
<session-config>
<!--session会话超时时间,单位为分钟-->
<session-timeout>30</session-timeout>
</session-config>
Servlet的声明和映射包含了<servlet>和<servlet-mapping>两部分。
<servlet>
<servlet-name>myServlet</servlet-name>
<!--拦截后的处理类-->
<servlet-class>com.rabbit.tomcat.Hello</servlet-class>
<!--初始化参数-->
<init-param>
<param-name>name</param-name>
<param-value>value</param-value>
</init-param>
<!--大于0表示项目启动的时候初始化-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<!--可以配置多个拦截路径-->
<url-pattern>/*</url-pattern>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
监听器用于监听应用的请求,如果配置多个监听器,那么请求会依次经过监听器,多个监听器就形成了监听器链。
<listener>
<!--监听器出例类,必须实现javax.servlet.ServletContextListener接口-->
<listener-class>com.rabbit.tomcat.Hello</listener-class>
</listener>
Filter用于配置web应用过滤器,用于过滤资源请求及响应。
<filter>
<filter-name>myFilter</filter-name>
<!--必须实现javax.servlet.Filter接口-->
<filter-class>com.rabbit.tomcat.Hello</filter-class>
<!--初始化参数-->
<init-param>
<param-name>name</param-name>
<param-value>value</param-value>
</init-param>
</filter>
MIME:多用途互联网邮件扩展类型,用于设定某类型的扩展名文件将采用何种应用程序打开,当我们通过请求访问该扩展名的资源文件时,浏览器将自动使用指定的应用程序打开返回的资源文件。
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
注意,这些类型的值都是固定的,工具会带有提示。Tomcat/conf/web.xml文件已经为我们定义了对应的类型,一般不需要额外配置。
当请求地址为web应用的根目录,服务器会尝试在请求地址后面加上欢迎文件并进行请求定向。首先会查找index.html如果没有则查找index.jsp以此类推。
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
错误页面可以根据响应状态或者响应异常类配置。
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
<error-page>
<exception-type>java.lang.RuntimeException</exception-type>
<location>/error.jsp</location>
</error-page>