`

Java Servlet 规范 版本 2.4 (1)

 
阅读更多
Chap.1 概述

1.1 什么是Servlet?

Servlet是一种基于Java技术的Web组件,由容器管理,产生动态内容。像其他基于Java技术的组件一样,servlet是平台无关的Java类,它被编译成平台中立的字节码,由支持Java技术的Web服务器动态的加载和执行。容器,有时称为Servlet引擎,是提供Servlet功能的Web服务器扩展。Servlet与Web客户端通过由Servlet容器实现的请求/响应模式交互。

1.2 什么是Servlet容器?

Servlet容器是Web服务器或应用程序服务器的一部分,它通过发送请求和响应来提供网络服务,解码基于MIME的请求,编码基于MIME的响应。Servlet容器还通过servlet的生命周期控制和管理servlet。

Servlet容器可以被构建到Web服务器主机,或者通过服务器本地的扩展API作为附加组件被安装到Web服务器中。Servlet容器也可以被构建到或者可能被安装到支持Web的应用程序服务器上。

所有的servlet容器必须支持HTTP作为请求和响应的协议,但是额外的基于请求/响应的协议,例如HTTPS(SSL之上的HTTP)也可以支持。容器必须实现的HTTP规范的版本是HTTP/1.0和HTTP/1.1。因为容器可能有RFC 2616(HTTP 1.1)中描述的缓存机制,它可以在客户端请求被传送到servlet之前修改请求,也可以在响应发送到客户端之前修改响应,或者也可以使用与RFC 2616一致的方式不将请求传送到servlet来响应请求。

Servlet容器可以在servlet执行的环境中设置安全限制。在Java 2平台标准版(Java EE, v.1.3 或者以上) 或Java 2平台企业版(Java EE, v.1.3 或者以上) 环境中,这些限制应该通过使用Java 2平台定义的权限架构来设置。例如,高级的应用程序服务器可能限制线程对象的创建,来保证容器中的其他组件不受到负面影响。

J2SE 1.3是在Java平台下构建servlet容器的最低版本。

1.3 例子

以下是事件的典型序列:
1. 客户端(例如Web浏览器)访问Web服务器,创建HTTP请求。
2. 请求被Web服务器接收,并且传递到servlet容器。Servlet容器可以和Web服务器主机运行在同一个进程中,或者在同一个主机的不同进程中,或者是不同主机的不同进程中来处理请求。
3. Servlet容器根据servlet配置确定调用哪个servlet,同时使用表示请求和响应的对象调用它。
4. Servlet使用request对象查找远程用户是谁,请求中传递了什么HTTP POST参数,以及其他相关数据。Servlet执行程序的逻辑,同时生成数据发送回客户端。它通过响应对象将数据发送回客户端。
5. 一旦servlet完成处理请求,servlet容器保证响应被正确的刷新,同时将控制权交回Web服务器主机。

1.4 比较Servlet和其他技术

在功能上,servlet介于公共网关接口(CGI)和专用服务器扩展,例如Netscape Server API(NSAPI)或Apache Modules之间。
Servlet与其他服务器扩展机制相比,有以下优势:
•通常比CGI脚本更快,因为它使用不同的处理模型。
•使用很多Web服务器支持的标准API。
•有Java编程语言的所有优点,包括易于开发和平台独立。
•可以访问大量的Java平台上有效的API。

1.5 与Java 2平台企业版的关系

Java Servlet API v.2.4是Java 2平台企业版v1.4必须的API。Servlet容器和部署在其中的servlet,为了在J2EE环境中执行,必须遵循在J2EE规范中描述的额外的要求。

1.6 与Java Servlet Version 2.3规范的兼容性

本节描述了采用了本版本规范的兼容性问题。

1.6.1 HttpSessionListener.sessionDestroyed

在以前版本的规范中,这个方法定义为:通知session无效。
在2.4版本中,这个方法变成:通知session将要变成无效。
这样在session无效之前进行通知。如果代码假定以前的状态,那么必须修改成新的状态。

1.6.2 ServletRequest 方法 getRemotePort, getLocalName,getLocalAddr, getLocaPort

在本版本的规范中,以下的方法被加入到ServletRequest接口中。

public int getRemotePort()
    返回发送请求的客户端或者最后代理的IP源端口。

public java.lang.String getLocalName()
    返回接收请求的IP接口的主机名称。

public java.lang.String getLocalAddr()
    返回接收请求的接口的IP地址。

public int getLocalPort()
    返回接收请求的接口的IP端口号。

    
注意,这个附加变化变化导致一些情况下代码不兼容,例如,当开发者实现ServletRequest 接口时。在这种情况下,需要保证所有的新方法都被实现。
分享到:
评论

相关推荐

    Java™ Servlet 规范.

    1.6 与 Java Servlet 规范 2.5 版本间的兼容性 ..............................................................................................14 1.6.1 监听器(Listener)顺序 .................................

    Servlet2.4规范(pdf)

    详细讲解servlet2.4规范,是做Java EE的不可多得的必备工具手册

    Neusoft公司Java编码规范

    Neusoft公司Java编码规范 目的 5 范围 6 前提条件 7 Java编码规范概要 8 1 代码风格 8 1.1 一般格式说明 8 1.2 基本结构 8 2 代码结构 9 2.1 变更履历 9 2.2 Package声明 11 ...5.12 Servlet规范 63 5.13 EJB规范 65

    Servlet3.1规范(最终版) PDF

    14 与 Java Servlet 规范 2.5 版本间的兼容性 .............................................................................................. 14 1.6.1 监听器(Listener)顺序 .................................

    tomcat服务器,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

    tomcat 服务器。 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成

    apache-tomcat-8.0.51.rar_Java 8_Tomcat/8.0.51_apache基金会_tomcat

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

    软件工程师Java班课程

    Java应用构建工具:Apache Ant / … 掌握JSP 1.3/2.0和Servlet 2.3/2.4编程及其在Web层 Java B/S商务项目开发(基于JSP/Servlet,全真案例第二个项目) 2人左右为一个项目组,项目大小为10人*工作日左右 熟练使用...

    Java_EE_6规范中文版

    6.4 Servlet 3.0标准 6.5 JavaServer PagesTM标准 6.6 Expression Language标准 6.7 JavaTM Message Service 6.8 JavaTM Transaction API 6.9 JavaMailTM 1.4标准 6.10 Java 连接器体系结构标准 6.11 Java EE Web...

    清华大学JAVA教程

    ◇1.5 java程序规范 ◇1.6 建立java开发环境 ◇本讲小结 ◇课后习题 ★ 第二讲 Java语言基础知识 ◇课前索引 ◇2.1 简单数据类型 ◇2.2 运算符和表达式 ◇2.3 控制语句 ◇2.4 数组 ◇2.5 字符串的处理 ...

    (超赞)JAVA精华之--深入JAVA API

    1 JAVA SE 1.1 深入JAVA API 1.1.1 Lang包 1.1.2 集合类 1.1.2.1.1 日期类Date 1.1.2.1.2 日历类Calendar 1.1.2.1.3 随机数类Random 1.1.2.1.4 向量类Vector 1.1.2.1.5 栈类Stack 1.1.2.1.6 哈希表类Hashtable ...

    Java编程语言详细教程

    ◇1.5 java程序规范 ◇1.6 建立java开发环境 ◇本讲小结 ◇课后习题 ★ 第二讲 Java语言基础知识 ◇课前索引 ◇2.1 简单数据类型 ◇2.2 运算符和表达式 ◇2.3 控制语句 ◇2.4 数组 ◇2.5 字符串的处理 ...

    java部署服务器tomcat6.0.18

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

    JAVA清华大学教程

    ◇1.5 java程序规范 ◇1.6 建立java开发环境 ◇本讲小结 ◇课后习题 ★ 第二讲 Java语言基础知识 ◇课前索引 ◇2.1 简单数据类型 ◇2.2 运算符和表达式 ◇2.3 控制语句 ◇2.4 数组 ◇2.5 字符串的处理 ...

    JAVA 清华大学 教程

    ◇1.5 java程序规范 ◇1.6 建立java开发环境 ◇本讲小结 ◇课后习题 ★ 第二讲 Java语言基础知识 ◇课前索引 ◇2.1 简单数据类型 ◇2.2 运算符和表达式 ◇2.3 控制语句 ◇2.4 数组 ◇2.5 字符串的处理 ...

    32位tomcat-7.0.55 工具下载

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

    tomcat6.5版本

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

    JAVA SE学习精华集锦

    1 JAVA SE 2 1.1 深入JAVA API 2 1.1.1 Lang包 2 1.1.2 集合类 8 1.1.2.1.1 日期类Date 9 1.1.2.1.2 日历类Calendar 10 1.1.2.1.3 随机数类Random 11 1.1.2.1.4 向量类Vector 12 1.1.2.1.5 栈类Stack 13 1.1.2.1.6 ...

    tomcat5.0.

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

    tomcat.rar,版本是tomcat7

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

Global site tag (gtag.js) - Google Analytics