- 浏览: 48245 次
- 性别:
- 来自: 广州
文章分类
最新评论
web 工程中的 web.xml 文件有什么作用呢?它是每个 web.xml 工程都必须的吗?
一个 web 中完全可以没有 web.xml 文件,也就是说, web.xml 文件并不是 web 工程必须的。
那什么时候需要,什么时候可以不需要呢?
要想回答上面的问题,得先了解 web.xml 文件使用来干什么的。 web.xml 文件是用来配置:欢迎页、 servlet 、 filter 等的。当你的 web 工程没用到这些时,你可以不用 web.xml 文件来配置你的 web 工程。
那么 web.xml 能做的所有事情都有那些?
其实, web.xml 的模式 (Schema) 文件中定义了多少种标签元素, web.xml 中就可以出现它的模式文件所定义的标签元素,它就能拥有定义出来的那些功能。 web.xml 的模式文件是由 Sun 公司定义的,每个 web.xml 文件的根元素 <web-app> 中,都必须标明这个 web.xml 使用的是哪个模式文件。如:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>
而且 web.xml 的模式文件中定义的标签并不是定死的,模式文件也是可以改变的,一般来说,随着 web.mxl 模式文件的版本升级,里面定义的功能会越来越复杂,也即标签元素的种类会越来越多,但有些是不常用的,我们只需记住一些常用的就可以了。
下面列出 web.xml 常用的标签元素及这些标签元素的功能:
1 、指定欢迎页面,例如:
<welcome-file-list>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index1.jsp</welcome-file>
</welcome-file-list>
上面的例子指定了 2 个欢迎页面,显示时按顺序从第一个找起,如果第一个存在,就显示第一个,后面的不起作用。如果第一个不存在,就找第二个,以此类推。
关于欢迎页面:
访问一个网站时,默认看到的第一个页面就叫欢迎页,一般情况下是由首页来充当欢迎页的。一般情况下,我们会在 web.xml 中指定欢迎页。但 web.xml 并不是一个 Web 的必要文件,没有 web.xml ,网站仍然是可以正常工作的。只不过网站的功能复杂起来后, web.xml 的确有非常大用处,所以,默认创建的动态 web 工程在 WEB-INF 文件夹下面都有一个 web.xml 文件。
对于 tomcat 来说,当你只指定一个 web 的根名,没有指定具体页面,去访问时一个 web 时, 如果 web.xml 文件中配置了欢迎页,那么就返回指定的那个页面作为欢迎页,而在文中没有 web.xml 文件,或虽然有 web.xml ,但 web.xml 也没指定欢迎页的情况下,它默认先查找 index.html 文件,如果找到了,就把 index.html 作为欢迎页还回给浏览器。如果没找到 index.html , tomcat 就去找 index.jsp 。找到 index.jsp 就把它作为欢迎页面返回。而如果 index.html 和 index.jsp 都没找到,又没有用 web.xml 文件指定欢迎页面,那此时 tomcat 就不知道该返回哪个文件了,它就显示 The requested resource (/XXX) is not available 的页面。其中 XXX 表示 web 的根名。但如果你指定了具体页面,是可以正常访问的。
2 、命名与定制 URL 。我们可以为 Servlet 和 JSP 文件命名并定制 URL, 其中定制 URL 是依赖一命名的,命名必须在定制 URL 前。下面拿 serlet 来举例:
(1) 、为 Servlet 命名:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
</servlet>
(2) 、为 Servlet 定制 URL 、
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3 、定制初始化参数:可以定制 servlet 、 JSP 、 Context 的初始化参数,然后可以再 servlet 、 JSP 、 Context 中获取这些参数值。下面哪 servlet 来举例:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
<init-param>
<param-name>userName</param-name>
<param-value>Tommy</param-value>
</init-param>
<init-param>
<param-name>E-mail</param-name>
<param-value>Tommy@163.com</param-value>
</init-param>
</servlet>
经过上面的配置,在 servlet 中能够调用 getServletConfig().getInitParameter("param1") 获得参数名对应的值。
4 、指定错误处理页面,可以通过“异常类型”或“错误码”来指定错误处理页面。
<error-page>
<error-code>404</error-code>
<location>/error404.jsp</location>
</error-page>
-----------------------------
<error-page>
<exception-type>java.lang.Exception<exception-type>
<location>/exception.jsp<location>
</error-page>
5 、设置过滤器:比如设置一个编码过滤器,过滤所有资源
<filter>
<filter-name>XXXCharaSetFilter</filter-name>
<filter-class>net.test.CharSetFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XXXCharaSetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6 、设置监听器:
<listener>
<listener-class>net.test.XXXLisenet</listener-class>
</listener>
7 、设置会话 (Session) 过期时间,其中时间以分钟为单位,假如设置 60 分钟超时:
<session-config>
<session-timeout>60</session-timeout>
</session-config>
除了这些标签元素之外,还可以往 web.xml 中添加那些标签元素呢,那些标签元素都能起什么作用呢?我们只要去查看 web.xml 的模式文件就能知道。直接看模式文件看不懂,可以找一些中文教程来看看。
发表评论
-
java web项目配置tomcat连接池
2011-09-20 23:33 1779本文包含两部分内容。第一部分是在eclipse下配置项目 ... -
javaweb中的请求--响应流程(get方式提交请求)
2011-09-11 22:30 1057javaweb中的请求--响应流程(get方式提交请求) -
JSP入门需要知道的五个方面
2011-09-10 21:16 817本文是一个JSP入门的简单的总结性文章,从Servlet知 ... -
Form表单提交数据编码方式和tomcat接受数据解码方式的思考
2011-09-10 21:11 544form有2中方法把数据提 ... -
execute、executeQuery和executeUpdate之间的区别
2011-09-10 21:09 697JDBCTM中Statement接口提 ... -
使用eclipse开发J2EE应用
2011-09-10 21:08 783使用eclipse开发J2EE应用 -
JSP入门之避免Form表单重复提交的几种方案
2011-09-10 20:59 1105对于JSP 入门的初级的学习者表单的提交是一个非常困扰 ... -
java中文乱码解决方法
2011-09-10 20:56 7731 .以POST 方法提交 ... -
jsp实现网页计数器(防刷新计数和防刷新单用户计数)
2011-09-10 20:51 1301jsp实现网页计数器(防刷新计数和防刷新单用户计数) -
jsp分页实现
2011-09-10 20:47 613jsp分页实现 -
多图详解教程:Eclipse3.6连接Tomcat7
2011-09-10 20:44 718多图详解教程:Eclipse3.6连接Tomcat7(见附件) ... -
url 重写来实现会话管理
2011-09-08 21:45 939如果浏览器不支持 cookies,或将浏览器设置为不接受 co ... -
jsp环境下session的创建
2011-09-08 20:54 8161)-不恰当的request.getSessi ... -
跳出页面的Frame框架
2011-09-08 12:12 640如何跳出页面的Frame 框架 很多网页都是框架结构的 ... -
使用eclipse开发J2EE应用
2011-09-08 12:09 0<!-- [if !mso]> <styl ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
2011-09-08 12:05 673一、 1、启动一个WEB项 ... -
UrlRewriter url重写
2011-09-08 12:04 808如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的 ... -
TOMCAT数据库连接池的配置方法总结
2011-09-08 12:02 853以MySQL+TOMCAT 为例 1. ... -
Tomcat解决中文转码问题
2011-09-08 11:51 1877Tomcat解决中文转码问题 ... -
Tomcat与IIS整合手记
2011-09-08 11:49 995安装配置 IIS6 和 Tomcat6 ...
相关推荐
为了提高代码的可维护性和复用性,有时需要将一部分配置内容提取到独立的XML文件中,再在`web.xml`中引用这些文件。本文将详细介绍如何在`web.xml`中引入其他XML配置文件,并解决可能出现的问题。 #### 步骤一:...
#### 二、web.xml文件结构 `web.xml`文件的最外层标签为`<web-app>`,所有的配置项都需要定义在这个标签内,并且遵循一定的顺序。以下是对`web.xml`主要配置项的详细介绍: #### 三、配置项详解 1. ****:该标签...
在 web.xml 文件中,第一个元素是 XML 头,用于声明 XML 版本和字符编码。紧接着是 DOCTYPE 声明,用于指定 Servlet 规范的版本和文档类型定义(DTD)。最后是 web-app 元素,作为根元素,包含了所有其他元素。 ...
web.xml 配置详解是指在 Java Web 应用程序中使用的部署描述符配置文件。它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 在 web.xml 文件中...
web.xml文件是javaweb项目中的一个非常重要的配置文件,它用于初始化工程配置信息,例如welcome页面、filter、listener、servlet、servlet-mapping、启动加载级别等等。了解web.xml文件的作用和用途对于javaweb项目...
- 在web.xml中,我们可以使用`<context-param>`标签来指定Log4j配置文件的位置,例如: ```xml <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j.properties ``` - 接着,使用`...
随着技术的发展,虽然现代Web框架如Spring MVC等提供了更为灵活和强大的机制来管理这些操作,但了解如何在`web.xml`中配置action仍然是非常有用的,尤其是在维护旧项目或者特定场景下。 #### 三、配置步骤详解 ...
在构建基于Spring MVC的Web应用程序时,`web.xml`配置文件扮演着至关重要的角色。它定义了应用程序的行为,包括启动时的初始化、请求处理以及中间件的设置。下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置...
在filter配置中,多个filter的初始化顺序由它们在web.xml文件中的位置决定,但filter拦截资源的顺序则是根据filter-mapping的顺序进行。每个filter-mapping对应一个filter,且filter-mapping必须位于相应的filter...
Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素...
在本文中,我们将探讨Spring在`web.xml`中的配置与在Struts中的配置差异,以及这两种配置方式背后的基本原理。 首先,Spring的核心是ApplicationContext,它是一个管理Bean的容器,可以看作是应用程序的上下文环境...
在IT行业中,项目配置文件是任何应用程序的核心组成部分,它们定义了系统的运行时行为。这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于...
在Tomcat的`conf`目录下,有两个主要的XML配置文件:`server.xml`和`web.xml`。`server.xml`是Tomcat的主要配置文件,而`web.xml`则定义了应用程序的行为。 在`server.xml`中,我们需要配置`<Connector>`元素来启用...
在WEB-INF中的web.xml文件中,添加以下配置:<Context docBase="MyStruts" path="/MyStruts" reloadable="true">...。其中,docBase指定了文档基础目录,path指定了Context的路径,reloadable指定了是否可以热部署。...
在现代的Web开发中,"Web项目没有web.xml配置文件"是一个常见的现象,尤其是在使用Spring Boot、Spring MVC等框架时。传统的Java Web应用通常依赖于`web.xml`文件来配置Servlet、过滤器、监听器等核心组件,但在最新...
在实验中,我们首先在 WebContent 目录下创建了 404.jsp 和 500.jsp 两个文件,然后在 web.xml 文件中配置了错误处理页面的路径。 实验的结果是,我们成功地设置了错误处理页面,并且在出现异常时,浏览器可以正确...
在大型Web工程中,web.xml文件非常重要,因为它提供了一个中央配置点,便于管理Web应用的各种资源和服务。 ### Servlet版本与web.xml的结构 不同版本的servlet规范定义了不同的web.xml结构。以Servlet 2.3和...
在Java Web开发中,`web.xml`文件是应用的核心配置文件,它定义了Servlet、过滤器、监听器等组件,并负责映射它们的行为。本文将深入解析`web.xml`配置,帮助开发者理解其背后的原理和用途。 一、web.xml文件概述 `...
在 web.xml 中,<context-param> 配置起着非常重要的作用,它在 web 项目启动时发挥着关键的作用。 首先,让我们来了解一下 web 项目的启动过程。在启动一个 web 项目时,容器(如 Tomcat)会去读它的配置文件 web....