`

[摘]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>
分享到:
评论

相关推荐

    jsp servlet 入门学习资料-新手一看就懂

    11.1.1 JDBC2.0新功能概述 11.1.2 结果集增强功能 11.1.3 批处理更新 11.1.4 对Java对象的持久性 11.1.5 数据库连接池使用实例 11.2 文件上载 11.2.1 实现机理 11.2.2 文件上载实例 第12章 JSP高级应用实例...

    Tomcat 7 API文档

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    apache-tomcat-8.0.48

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    apache-tomcat-7.0.94

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    apache-tomcat-8.5.40

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    apache-tomcat-7.0.96.exe

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    tomcat-8.5.57.exe

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    Tomcat 安装与配置.pdf

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    tomcat 下载配置

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    apache-tomcat-7.0.81

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    apache-tomcat-7.0.103.exe

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    apache-tomcat-8.5.20.tar.gz

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    apache tomcat 6.0.32

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    tomcat安装包jakarta-tomcat-5.0.18.exe

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    学生成绩查询系统

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    jakarta-tomcat-5[1].5.4.exe

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    JSP2.0技术手册pdf(带示例源码).zip

    2-5 Servlet 2.4 的新功能 第三章 JSP 2.0 简介 3-1 JavaServer Pages 技术 3-2 What is JSP 3-3 JSP 与 Servlet 的比较 3-4 JSP 的执行过程 3-5 JSP 与 ASP 和 ASP+ 的比较 3-6 JSP 2.0 新功能 第四章 JSP 语法 4-1...

    jaxmao-tomcat-5.5.20中文版

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    tomcat-5.5.26

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了...

    六大应用服务器用途及简介.docx

    由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到表达,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因此深受Java 爱好者的宠爱并得到了...

Global site tag (gtag.js) - Google Analytics