每一个规范的web应用在WEB-INF目录下都应该有一个web.xml配置文件,用来对web应用的属性进行配置。web.xml配置文件包含的内容很多,但是基本的配置应该包括如下几部分:
环境参数初始化
Servlet配置
过滤器配置
监听器配置
数据库连接池配置
Session配置
JSP网页相关配置
MIME
TYPE配置
welcome文件清单
错误处理
根元素和头
因为该配置文件是一个xml文档,因此必须遵循xml的书写规范,例如大小写敏感,需要声明版本号和字符编码等,一个没有任何配置的原始的xml文件为:
环境参数初始化
根元素:<init-param>
子元素:<param-name>和<param-value>,分别对应参数的名称和参数取值,其中全局参数的设置必须在与文档有关的元素之后,并且在filter、listener及servlet等元素之前;Servlet的初始参数在<servlet-class>之后;jsp中初始参数在<jsp-file>之后;filter初始参数在<filter-class>之后。应用范围内的初始化参数可以通过ServletContext的getInitParameter()方法获得。
<!--全局范围内环境参数初始化--> <context-param> <param-name>username</param-name> <param-value>Lily</param-value> </context-param> |
Servlet配置
该配置在Servlet简介一文中有相关介绍,在这儿就省略了,要增加的一点说明就是如果一个Servlet有多个映射,则需要写多个<servlet-mapping>模块,而不能在一个<servlet-mapping>中写多个<url-pattern>。
<servlet>
//配置一个实例名 <servlet-name>xxx</servlet-name>
//设定该servlet的实例名
<servlet-class>xxx</servlet-class>
//设定该servlet的类名
<int-param>
//设定该Servlet的初始化参数
<param-name>xxx</param-name>
//设定参数名
<param-value>xxx</param-value>//设定参数值
</int-param>
<load-on-startup>0</load-on-startup>
//当这个值为整数或0,Servlet容器首先加载数值小的Servlet,再依次加载其他数值大的Servlet,如果这个值为负或者没有设定,那么Servlet容器将在Web客户首次访问这个Servlet时加载它。
</servlet>
<servlet-mapping>
//配置一个Servlet映射
<servlet-name>xxx</servlet-name>
//引用前面设定的Servlet实例名
<url-pattern>/xxx</url-pattern>
//设定访问该Servlet的URL </servlet-mapping>
|
过滤器配置
过滤器可以截取和修改一个Servlet或JSP页面的请求或从一个Servlet或JSP页面发出的响应,用<filter>元素和<filter-mapping>元素完成设置,具体配置见本空间《Servlet过滤器配置》一文。
<filter>
//配置一个过滤器
<filter-name>xxx</filter-name>
//设定该过滤器的实例名
<filter-class>xxx</filter-class>
//设定该过滤器的类名 <init-param>
//设定该过滤器的初始化参数
<param-name>xxx</param-name>
//设定参数名
<param-value>xxx</param-value>
//设定参数值
</init-param> </filter> <filter-mapping>
//配置一个过滤器映射
<filter-name>xxx</filter-name>
//引用前面设定的过滤器实例名 <url-pattern>/*/</url-parttern>
//设置要过滤的URL </filter-mapping>
|
监听器配置
注册一个监听程序用<listener>元素,在listener元素中,只有一个<listener-class>子元素,指明监听器对应的类。
<listener>
//配置一个监听器
<listener-class>xxx</listener-class>
//设定该监听器的类名 </listener> |
数据库连接池配置
<!--数据库连接池配置--> <resource-ref>
<description>DataSource</description><!--描述-->
<res-ref-name>jdbc/mysql/bookstore</res-ref-name><!--资源名称--> <res-type>javax.sql.DataSource</res-type><!--资源类型--> <res-auth>Container</res-auth><!--指出由Application或Container提供--> </resource-ref> |
Session配置
如果某个会话在一定时间未被访问,则服务器可以扔掉以节约内存,该功能的实现可借助web.xml文件来实现,使用<session-config>及其子元素<session-timeout>,其中过期时间以分钟为单位
<session-config>
//设置Session的会话闲置时间
<session-timeout>xxx</session-timeout>//设定一个具体的分钟数,如60 </seeion-config> |
JSP网页相关配置
<jsp-config>元素主要用来设置JSP的相关配置,该元素包括<taglib>和<jsp-property-group>两个子元素,分别完成标签库和JSP相关属性的设置。
<jsp-config>//设置JSP的配置信息 <taglib>//定义一个标签库 <taglib-uri>/formtag</taglib-uri>
//设定标签库的引用URL <taglib-location>/WEB-INF/tlds/FormTag.tld</taglib-location>
//设定标签库文件的存放路径 </taglib>
<!--设置jsp-property-group--> <jsp-property-group> <display-name>bookstore4</display-name> <url-pattern>*.jsp</url-pattern>
<!-设定影响范围--> <el-ignored>false</el-ignored>
<!-是否支持EL语法--> <scripting-invalid>false</scripting-invalid> <!-是否支持脚本-->
<page-encoding>gb2312</pageencoding>
<!-设置编码--> <include-prelude>head.jspf</include-prelude>
<!--设置jsp网页的抬头--> <include-coda>end.jspf</include-coda>
<!--设置jsp网页的结尾-->
</jsp-property-group> </jsp-config>
|
Welcome文件清单
指出默认的欢迎界面,按照顺序依次查找,直到找到对应的页面为止。
<!--welcome欢迎清单--> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> |
错误处理
主要是当JSP页面或Servlet出现错误或者抛出异常时,显示指定的页面。
根元素:<error-page>
子元素:<error-code>设置HTTP错误代码;<exception-type>设置java异常类型,<error-location>元素用来设置发生错误或异常时要显示的页面。
<!--错误处理--> <error-page> <error-code>xxx</error-code>
//设定一个具体的错误代码,如404
<location>/xx</location>
//设定一个处理错误的页面 </error-page>
<error-page> <exception-type>exception.BookNotFound</exception-type> <location>/exception.jsp</location> </error-page>
|
分享到:
相关推荐
### web.xml配置文件详解 #### 一、概述 `web.xml`是Java Web应用程序的核心配置文件之一,主要用于定义Web应用程序的结构与行为。它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其...
### 在web.xml中引入其他XML配置文件的步骤 在Java Web开发中,`web.xml`作为Web应用程序的核心配置文件,负责定义应用级别的配置信息。为了提高代码的可维护性和复用性,有时需要将一部分配置内容提取到独立的XML...
Web.xml 配置详解 Web.xml 是一个部署描述符文件,用于...web.xml 文件是 Web 应用程序的配置文件,用于描述 Web 应用程序的各种配置信息。了解 web.xml 文件的结构和元素次序对于开发和配置 Web 应用程序非常重要。
web.xml 配置详解是指在 Java Web 应用程序中使用的部署描述符配置文件。它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 在 web.xml 文件中...
在构建基于Spring MVC的Web应用程序时,`web.xml`配置文件扮演着至关重要的角色。它定义了应用程序的行为,包括启动时的初始化、请求处理以及中间件的设置。下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置...
在Tomcat的`conf`目录下,有两个主要的XML配置文件:`server.xml`和`web.xml`。`server.xml`是Tomcat的主要配置文件,而`web.xml`则定义了应用程序的行为。 在`server.xml`中,我们需要配置`<Connector>`元素来启用...
4. **通过web.xml配置Log4j** - 在web.xml中,我们可以使用`<context-param>`标签来指定Log4j配置文件的位置,例如: ```xml <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j....
`web.xml`是Java Web应用的核心配置文件,用于定义Servlet、过滤器、监听器以及其他相关组件的行为和配置。它是按照Servlet规范定义的标准格式编写,独立于任何特定的应用服务器,如Tomcat。以下是对`web.xml`文件中...
`web.xml`配置文件在Struts2中扮演着至关重要的角色,它是整个应用的部署描述符,定义了应用程序的入口点、过滤器、Servlet以及其他Web组件的配置信息。在这里,我们将深入探讨`web.xml`配置文件在Struts2中的应用...
全新的java web项目的配置文件,新建的纯净的web.xml文件,没做任何改动,下载就可以使用了。
关于 web.xml 配置文件记录 Web.xml 配置文件是 Servlet 规范中定义的部署描述符文件,它是 Web 应用的配置文件。作为一个 XML 文件,web.xml 必须以一个 XML 头开始,声明可以使用的 XML 版本并给出文件的字符编码...
《Web.xml配置文件详解》 在Java Web应用中,`Web.xml`文件是核心的部署描述符,它定义了应用程序的结构、行为以及服务器如何处理请求。这份文档将深入探讨`Web.xml`配置文件的各个关键元素,帮助开发者更好地理解...
在现代的Web开发中,"Web项目没有web.xml配置文件"是一个常见的现象,尤其是在使用Spring Boot、Spring MVC等框架时。传统的Java Web应用通常依赖于`web.xml`文件来配置Servlet、过滤器、监听器等核心组件,但在最新...
这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
Struts2的Spring插件会在Struts配置文件(如struts.xml)中定义一个`<package>`,包含`<interceptors>`和`<default-interceptor-ref>`元素,这样Struts2就会知道如何与Spring协作,将Action实例化和依赖注入交给...
web.xml文件是Java Web应用程序的部署描述符,它是容器(如Tomcat)理解和管理Web应用的关键配置文件。本文将深入探讨web.xml文件中的加载顺序和常用元素,帮助开发者更好地理解和使用。 首先,加载顺序是web.xml...
本文将详细介绍如何在`web.xml`中配置action或.do文件,以实现特定的功能需求。 #### 二、背景知识 在早期的Struts框架中(Struts 1),开发者经常需要在`web.xml`中配置action映射来处理HTTP请求。随着技术的发展...
在Java Web开发中,`web.xml`文件是应用的核心配置文件,它定义了Servlet、过滤器、监听器等组件,并负责映射它们的行为。本文将深入解析`web.xml`配置,帮助开发者理解其背后的原理和用途。 一、web.xml文件概述 `...