`

[摘]Servlet 2.4 的新功能

阅读更多
Servlet 2.4 的新功能
                                      

      2003 年11 月底,J2EE 1.4 规范正式发布,Servlet也从原本的2.3版升级至2.4版。其中主要
新增的功能有以下三点:
(1) web.xml DTD 改用XML Schema;
(2) 新增Filter 四种设定;
(3) 新增Request Listener、Event 和Request Attribute Listener、Event。

一、web.xml 改用XML Schema

Servlet 在2.4 版之前,web.xml 都是使用DTD(Document Type Definition)来定义XML 文件内
容结构的,因此,Servlet 2.3 版 web.xml 一开始的声明如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
…………
</web-app>


到了Servlet 2.4 版之后,web.xml 改为使用XML Schema,此时web.xml 的声明如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
…………
</web-app>

由DTD 改为Schema,主要加强两项功能:
(1) 元素可不依照顺序设定;
(2) 更强大的验证机制。
下面的范例,在Servlet 2.3 版是不合规则的web.xml 文件:

<web-app>
...
<servlet>
<servlet-name>ServletA</servlet-name>
<servlet-class>tw.com.javaworld.servlet.ServletA</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletA</servlet-name>
<url-pattern>/ServletA/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ServletB</servlet-name>

<servlet-class> tw.com.javaworld.servlet.ServletB</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletB</servlet-name>
<url-pattern>/ServletB /*</url-pattern>
</servlet-mapping>
...
</web-app>

因为<servlet-mapping>元素必须在<servlet>元素之后,因此,上述的范例要改为:

<web-app>
...
<servlet>
<servlet-name>ServletA</servlet-name>
<servlet-class>tw.com.javaworld.servlet.ServletA</servlet-class>
</servlet>
<servlet>
<servlet-name>ServletB</servlet-name>
<servlet-class> tw.com.javaworld.servlet.ServletB</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>ServletA</servlet-name>
<url-pattern>/ServletA/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletB</servlet-name>
<url-pattern>/ServletB /*</url-pattern>
</servlet-mapping>
...
</web-app>

不过在Servlet 2.4版之后,原来的范例也算是一个合法的web.xml文件,不再须注意元素的顺序。
除此之外,Servlet 2.4 版web.xml 的Schema 更能提供强大的验证机制,例如:
(1) 可检查元素的值是否为合法的值。例如:<filter-mapping>的<dispatcher>元素,其值只
能为REQUEST、FORWARD、INCLUDE 和ERROR,如下所示:
<filter-mapping>
<filter-name>Hello</filter-name>
<url-pattern>/CH11/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
若<dispatcher>元素的值不为上述四种时,此web.xml 将会发生错误。
(2) 可检查如Servlet、Filter 或EJB-ref 等等元素的名称是否惟一。例如:

<servlet>
<servlet-name>ServletA</servlet-name>
<servlet-class>tw.com.javaworld.servlet.ServletA</servlet-class>
</servlet>
<servlet>
<servlet-name>ServletA</servlet-name>
<servlet-class>tw.com.javaworld.servlet.ServletB</servlet-class>
</servlet>
分享到:
评论

相关推荐

    servlet2.4中文规范

    - **与Java Servlet 2.3规范的兼容性**:Servlet 2.4在2.3的基础上进行了一些改进和增强,如增加了`HttpSessionListener.sessionDestroyed`方法,以及`ServletRequest`中的新方法。 2. **Servlet接口** - **请求...

    servlet-2.4规范

    - Servlet-2.4 规范对 API 进行了扩展,增加了新的接口和类,提供了更多的编程模型和工具。 #### 三、重要概念与接口 - **Servlet**: 定义了 Web 应用程序中的服务器端组件,用于处理客户端的 HTTP 请求。 - **...

    Servlet 2.4 又有哪些新变化

    Servlet 2.4 是对Servlet 2.3版本的一个重要更新,虽然它没有引入革命性的新特性,但着重于增强已有功能的清晰度和互操作性。以下是Servlet 2.4中主要的变化和改进: 1. **HTTP/1.1和J2SE 1.3支持**: Servlet 2.4...

    servlet-api-2.4.jar (亲测可用)

    Servlet API 2.4引入了多项新功能和改进,以提高性能、可维护性和灵活性。 1. **Filter Chain**:Servlet API 2.4引入了过滤器(Filter)的概念,这是一种预处理或后处理请求和响应的方法。过滤器可以在请求到达...

    servlet

    Servlet 2.4 版本是 Servlet 技术发展的一个重要里程碑,它不仅增强了 Servlet 的基本功能,还引入了许多实用的新特性。这些改进大大提升了基于 Servlet 构建的 Web 应用程序的性能、灵活性和安全性。随着技术的不断...

    Java Serlet 2.4、JSP 2.0 入门教程

    Java Servlet 2.4 和 JSP 2.0 是Java Web开发中的两个...同时,随着技术的发展,Servlet 4.0和JSP 2.3已经发布,提供了更多新特性和优化,但理解Servlet 2.4和JSP 2.0仍然是理解和学习现代Web框架不可或缺的一部分。

    servlet-2_4-pfd-spec

    Servlet 2.4规范是这个技术的一个里程碑,它在之前的版本基础上增加了许多新功能和改进,为开发人员提供了更多的灵活性和控制力。 首先,Servlet生命周期包括初始化、服务和销毁三个阶段。在初始化阶段,Servlet...

    servlet api

    这个版本是2.4,是Servlet技术的一个经典版本,提供了稳定且广泛支持的功能。在本文中,我们将深入探讨Servlet API的关键概念、功能以及如何使用它来开发web应用。 1. **Servlet概述** Servlet是一个Java类,它...

    servelt specification

    1. **Filter**:Servlet 2.4引入了Filter的概念,允许开发者在请求到达目标Servlet之前或之后对其进行拦截和处理,实现如登录检查、内容编码转换等功能。 2. **Listener**:增强了事件监听器,如...

    servlet-api 各种版本

    这个压缩包包含了Servlet-API的多个版本,分别是2.2、2.3、2.4、2.5以及3.0。每个版本的发布都带来了新的功能和改进,以适应不断发展的Web应用需求。 1. **Servlet 2.2**: - 发布于1999年,是Servlet规范的第二个...

    servlet2.5源码

    Servlet 2.5是Java Servlet规范的一个版本,它在2006年发布,是对Servlet 2.4的升级,引入了一些新特性以提升Web应用的开发效率和灵活性。在这个源码包中,你将能够深入理解Servlet的工作原理以及如何在实际开发中...

    javax.servlet3.0 javax.servlet_jsp2.0源码

    Java Servlet 3.0是Servlet规范的一个重要版本,引入了许多新特性。例如,不再需要web.xml来配置Servlet,而是支持注解(@WebServlet)进行声明式配置。此外,它还支持异步处理,使得Servlet可以在不阻塞线程的情况...

    Servlet基础教程

    #### 二、Servlet 2.4的新特性 **2.1 HTTP/1.1与J2SE 1.3支持** - Servlet 2.4版本要求Servlet必须支持HTTP/1.1协议,并且可以在J2SE 1.3环境中运行。 **2.2 ServletRequest增强** - **查询客户端连接**:`...

    Servlet2.5

    Servlet 2.5是Java Servlet规范的一个版本,它在2006年发布,是对Servlet 2.4的升级,提供了许多新特性和改进。这个版本的Servlet规范是基于Java EE 5平台的,旨在提高Web应用程序的开发效率和可维护性。下面将详细...

    servlet-api-2.5.jar和jsp-api-2.1.jar

    Servlet API 2.5与JSP API ...需要注意的是,尽管Servlet 2.5和JSP 2.1在许多现代项目中仍然适用,但随着技术的发展,更高版本的Servlet(如Servlet 4.0)和JSP(如JSP 2.3)已经发布,带来了更多的新功能和性能优化。

    servlet/jsp 入门教程

    - **高效**: 通过轻量级线程模型,Servlet可以快速响应新的请求,且不需要为每次请求都加载新的实例。 - **方便**: 内置了许多实用工具方法,如解析HTML表单数据、操作HTTP头、处理Cookie和管理会话状态等。 - **...

    jsp版图书管理系统

    Servlet2.4是Servlet规范的一个版本,提供了更多的API和功能,比如过滤器(Filter)和监听器(Listener),使得应用程序更加灵活和可扩展。 4. **JDK1.5**:即Java Development Kit的第5个版本,引入了泛型、枚举、...

    Struts图书馆管理系统

    3. **Servlet 2.4**:Servlet是Java EE规范的一部分,用于扩展服务器的功能,处理HTTP请求。Servlet 2.4版本引入了过滤器(Filter)和监听器(Listener)等特性,增强了对Web应用的控制和监控能力。在Struts中,...

    Servlet的基本知识

    - Servlet是Java平台的一部分,用于扩展Web服务器的功能。 - 它可以被视为一种轻量级的应用程序,能够高效地处理来自Web浏览器或其他HTTP客户端的请求。 - **Servlet的特点:** - 可移植性:Servlet基于Java语言...

    apache2.4+tomcat7+mod_jk.so_整合配置

    1. **Apache 2.4**:Apache HTTP Server 2.4 版本是一个流行的开源 Web 服务器,提供了强大的功能和灵活性。它支持多种模块,如 `mod_rewrite`(URL 重写)和 `mod_security`(安全防护)。 2. **Tomcat 7**:...

Global site tag (gtag.js) - Google Analytics