`

web.xml文件在web项目中的作用及基本配置

    博客分类:
  • jsp
 
阅读更多

 

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 的模式文件就能知道。直接看模式文件看不懂,可以找一些中文教程来看看。

分享到:
评论

相关推荐

    在web.xml中引入其他xml配置文件的步骤

    为了提高代码的可维护性和复用性,有时需要将一部分配置内容提取到独立的XML文件中,再在`web.xml`中引用这些文件。本文将详细介绍如何在`web.xml`中引入其他XML配置文件,并解决可能出现的问题。 #### 步骤一:...

    web.xml配置文件详解

    #### 二、web.xml文件结构 `web.xml`文件的最外层标签为`&lt;web-app&gt;`,所有的配置项都需要定义在这个标签内,并且遵循一定的顺序。以下是对`web.xml`主要配置项的详细介绍: #### 三、配置项详解 1. ****:该标签...

    web.xml配置详解, web.xml web.xml 配置实例

    在 web.xml 文件中,第一个元素是 XML 头,用于声明 XML 版本和字符编码。紧接着是 DOCTYPE 声明,用于指定 Servlet 规范的版本和文档类型定义(DTD)。最后是 web-app 元素,作为根元素,包含了所有其他元素。 ...

    web.xml配置详解

    web.xml 配置详解是指在 Java Web 应用程序中使用的部署描述符配置文件。它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 在 web.xml 文件中...

    javaweb项目中web.xml的作用

    web.xml文件是javaweb项目中的一个非常重要的配置文件,它用于初始化工程配置信息,例如welcome页面、filter、listener、servlet、servlet-mapping、启动加载级别等等。了解web.xml文件的作用和用途对于javaweb项目...

    log4j与web.xml的配置

    - 在web.xml中,我们可以使用`&lt;context-param&gt;`标签来指定Log4j配置文件的位置,例如: ```xml &lt;param-name&gt;log4jConfigLocation &lt;param-value&gt;/WEB-INF/classes/log4j.properties ``` - 接着,使用`...

    在web.xml中配置action或.do

    随着技术的发展,虽然现代Web框架如Spring MVC等提供了更为灵活和强大的机制来管理这些操作,但了解如何在`web.xml`中配置action仍然是非常有用的,尤其是在维护旧项目或者特定场景下。 #### 三、配置步骤详解 ...

    详解Spring mvc的web.xml配置说明

    在构建基于Spring MVC的Web应用程序时,`web.xml`配置文件扮演着至关重要的角色。它定义了应用程序的行为,包括启动时的初始化、请求处理以及中间件的设置。下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置...

    web.xml文件配置.doc

    在filter配置中,多个filter的初始化顺序由它们在web.xml文件中的位置决定,但filter拦截资源的顺序则是根据filter-mapping的顺序进行。每个filter-mapping对应一个filter,且filter-mapping必须位于相应的filter...

    Tomcat中用web.xml控制Web应用详解

    Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素...

    spring在web.xml中和在struts中的不同配置..pdf

    在本文中,我们将探讨Spring在`web.xml`中的配置与在Struts中的配置差异,以及这两种配置方式背后的基本原理。 首先,Spring的核心是ApplicationContext,它是一个管理Bean的容器,可以看作是应用程序的上下文环境...

    项目配置文件( spring-mvc.xml spring-mybatis.xml web.xml log4j.properties)

    在IT行业中,项目配置文件是任何应用程序的核心组成部分,它们定义了系统的运行时行为。这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于...

    为tomcat服务器配置https,tomcat需要设置的server.xml与web.xml配置

    在Tomcat的`conf`目录下,有两个主要的XML配置文件:`server.xml`和`web.xml`。`server.xml`是Tomcat的主要配置文件,而`web.xml`则定义了应用程序的行为。 在`server.xml`中,我们需要配置`&lt;Connector&gt;`元素来启用...

    WEB-INF中的web.xml中之前增加以下配置:

    在WEB-INF中的web.xml文件中,添加以下配置:&lt;Context docBase="MyStruts" path="/MyStruts" reloadable="true"&gt;...。其中,docBase指定了文档基础目录,path指定了Context的路径,reloadable指定了是否可以热部署。...

    Web项目没有web.xml配置文件

    在现代的Web开发中,"Web项目没有web.xml配置文件"是一个常见的现象,尤其是在使用Spring Boot、Spring MVC等框架时。传统的Java Web应用通常依赖于`web.xml`文件来配置Servlet、过滤器、监听器等核心组件,但在最新...

    在web.xml中设置错误处理页面.docx

    在实验中,我们首先在 WebContent 目录下创建了 404.jsp 和 500.jsp 两个文件,然后在 web.xml 文件中配置了错误处理页面的路径。 实验的结果是,我们成功地设置了错误处理页面,并且在出现异常时,浏览器可以正确...

    web.xml各种配置

    在大型Web工程中,web.xml文件非常重要,因为它提供了一个中央配置点,便于管理Web应用的各种资源和服务。 ### Servlet版本与web.xml的结构 不同版本的servlet规范定义了不同的web.xml结构。以Servlet 2.3和...

    java web项目 web.xml配置详解

    在Java Web开发中,`web.xml`文件是应用的核心配置文件,它定义了Servlet、过滤器、监听器等组件,并负责映射它们的行为。本文将深入解析`web.xml`配置,帮助开发者理解其背后的原理和用途。 一、web.xml文件概述 `...

    web.xml中&lt;/context-param&gt;等配置的作用

    在 web.xml 中,&lt;context-param&gt; 配置起着非常重要的作用,它在 web 项目启动时发挥着关键的作用。 首先,让我们来了解一下 web 项目的启动过程。在启动一个 web 项目时,容器(如 Tomcat)会去读它的配置文件 web....

Global site tag (gtag.js) - Google Analytics