web.xml配置
什么是Web.xml
Web.xml是Web应用部署的重要的描述条件,它支持的元素及属性来自于Servlet规范定义。在tomcat中,Web应用的部署描述信息文件包括tomcat/conf/web.xml以及Web应用的WEB-INF/web.xml下的文件。
ServletContext初始化参数
由于该对象比较常用,这里不做多余的描述。开发的都应该了解该对象。
-
<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>和<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定义及映射
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:多用途互联网邮件扩展类型,用于设定某类型的扩展名文件将采用何种应用程序打开,当我们通过请求访问该扩展名的资源文件时,浏览器将自动使用指定的应用程序打开返回的资源文件。
-
<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>