JAVAServletAPI文档格式.docx

上传人:b****2 文档编号:15292628 上传时间:2022-10-29 格式:DOCX 页数:28 大小:38.80KB
下载 相关 举报
JAVAServletAPI文档格式.docx_第1页
第1页 / 共28页
JAVAServletAPI文档格式.docx_第2页
第2页 / 共28页
JAVAServletAPI文档格式.docx_第3页
第3页 / 共28页
JAVAServletAPI文档格式.docx_第4页
第4页 / 共28页
JAVAServletAPI文档格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

JAVAServletAPI文档格式.docx

《JAVAServletAPI文档格式.docx》由会员分享,可在线阅读,更多相关《JAVAServletAPI文档格式.docx(28页珍藏版)》请在冰豆网上搜索。

JAVAServletAPI文档格式.docx

谁需要读这份文档

这份文档描述了Java 

API的最新版本2.1版。

所以,这本书对于Servlet的开发者及servlet引擎的开发者同样适用。

API的组成

API由两个软件包组成:

一个是对应HTTP的软件包,另一个是不对应HTTP的通用的软件包。

这两个软件包的同时存在使得Java 

API能够适应将来的其他请求-响应的协议。

这份文档以及刚才提及的Javadoc格式的文档都描述了这两个软件包,Javadoc格式的文档还描述了你应该如何使用这两个软件包中的所有方法。

有关规范

你也许对下面的这些Internet规范感兴趣,这些规范将直接影响到Servlet 

API的发展和执行。

你可以从http:

//info.internet.isi.edu/7c/in-notes/rfc/.cache 

找到下面提到的所有这些RFC规范。

RFC 

1738 

统一资源定位器(URL) 

1808 

相关统一资源定位器 

1945 

超文本传输协议--HTTP/1.0 

2045 

多用途Internet邮件扩展(多用途网际邮件扩充协议(MIME))第一部分:

Internet信息体格式 

2046 

多用途Internet邮件扩展(多用途网际邮件扩充协议(MIME))第二部分:

媒体类型 

2047 

多用途网际邮件扩充协议(MIME)(多用途Internet邮件扩展)第三部分:

信息标题扩展用于非ASCII文本 

2048 

多用途Internet邮件扩展(多用途网际邮件扩充协议(MIME))第四部分:

注册步骤 

2049 

多用途Internet邮件扩展(多用途网际邮件扩充协议(MIME))第五部分:

一致性标准和例子 

2068 

超文本传输协议 

-- 

HTTP/1.1 

2069 

一个扩展HTTP:

摘要访问鉴定 

2109 

HTTP状态管理机制 

2145 

HTTP 

版本号的使用和解释 

2324 

超文本Coffee 

Pot控制协议 

(HTCPCP/1.0)

万维网协会(http:

//www.w3.org)管理着这些协议的规范和执行。

有关Java 

Servlets

JavaTM 

servlets是一个不受平台约束的Java小程序,它可以被用来通过多种方法扩充一个Web服务器的功能。

你可以把Servlet理解成Server上的applets,它被编译成字节码,这样它就可以被动态地载入并用效地扩展主机的处理能力。

Servlet与applets不同的地方是,它不运行在Web浏览器或其他图形化的用户界面上。

Servlet通过servlet引擎运行在Web服务器中,以执行请求和响应,请求、响应的典型范例是HTTP协议。

一个客户端程序,可以是一个Web浏览器,或者是非其他的可以连接上Internet的程序,它会访问Web服务器并发出请求。

这个请求被运行在Web服务器上的Servlet引擎处理,并返回响应到Servlet。

Servlet通过HTTP将这个响应转发到客户端。

在功能上,Servlet与CGI、NSAPI有点类似,但是,与他们不同的是:

Servlet具有平台无关性。

Servlet概论

Servlet与其他普通的server扩展机制有以下进步:

因为它采用了不同的进程处理模式,所以它比CGI更快。

它使用了许多Web服务器都支持的标准的API。

它继承了Java的所有优势,包括易升级以及平台无关性。

它可以调用Java所提供的大量的API的功能模块。

这份文档说明了Java 

API的类和接口的方法。

有关更多的信息,请参看下面的API说明。

Servlet的生命周期

一个Java 

servlet具有一个生命周期,这个生命周期定义了一个Servlet如何被载入并被初始化,如何接收请求并作出对请求的响应,如何被从服务中清除。

Servlet的生命周期被javax.servlet.Servlet这个接口所定义。

所有的Java 

Servlet都会直接地或间接地执行javax.servlet.Servlet接口,这样它才能在一个Servlet引擎中运行。

Servlet引擎是Web 

服务器按照Java 

API定制的扩展。

Servlet引擎提供网络服务,能够理解MIME请求,并提供一个运行Servlet的容器。

javax.servlet.Servlet接口定义了在Servlet的生命周期中特定时间以及特定顺序被调用的方法。

Servlet的解析和载入\r

Servlet引擎解析并载入一个Servlet,这个过程可以发生在引擎启动时,需要一个Servlet去响应请求时,以及在此之间的任何时候。

Servlet引擎利用Java类载入工具载入一个Servlet,Servlet引擎可以从一个本地的文件系统、一个远程的文件系统以及网络载入Servlet。

Servlet的初始化

Servlet引擎载入Servlet后,Servlet引擎必须对Servlet进行初始化,在这一过程中,你可以读取一些固定存储的数据、初始化JDBC的连接以及建立与其他资源的连接。

在初始化过程中,javax.servlet.Servlet接口的init()方法提供了Servlet的初始化信息。

这样,Servlet可以对自己进行配置。

init()方法获得了一个Servlet配置对象(ServletConfig)。

这个对象在Servlet引擎中执行,并允许Servlet通过它获处相关参数。

这个对象使得Servlet能够访问ServletContext对象。

Servlet处理请求\r

Servlet被初始化之后,它已经可以处理来自客户端的请求,每一个来自客户端的请求都被描述成一个ServletRequest对象,Servlet的响应被描述成一个ServletResponse对象。

当客户端发出请求时,Servlet引擎传递给Servlet一个ServletRequest对象和一个ServletResponse对象,这两个对象作为参数传递到service()方法中。

Servlet也可以执行ServletRequest接口和ServletResponse接口。

ServletRequest接口使得Servlet有权使用客户端发出的请求。

Servlet可以通过ServletInputStream对象读取请求信息。

ServletResponse接口允许Servlet建立响应头和状态代码。

通过执行这个接口,Servlet有权使用ServletOutputStream类来向客户端返回数据。

多线程和映射\r

在多线程的环境下,Servlet必须能处理许多同时发生的请求。

例外的情况是这个Servlet执行了SingleThreadModel接口,如果是那样的话,Servlet只能同时处理一个请求。

Servlet依照Servlet引擎的映射来响应客户端的请求。

一个映射对包括一个Servlet实例以及一个Servlet返回数据的URL,例如:

HelloServlet 

with 

/hello/index.html。

然而,一个映射可能是由一个URL和许多Servlet实例组成,例如:

一个分布式的Servlet引擎可能运行在不止一个的服务器中,这样的话,每一个服务器中都可能有一个Servlet实例,以平衡进程的载入。

作为一个Servlet的开发者,你不能假定一个Servlet只有一个实例。

Servlet的卸载

Servlet引擎并不必需保证一个Servlet在任何时候或在服务开启的任何时候都被载入。

Servlet引擎可以自由的在任何时候使用或清除一个Servlet。

因此,我们不能依赖一个类或实例来存储重要的信息。

当Servlet引擎决定卸载一个Servlet时(例如,如果这个引擎被关闭或者需要让资源),这个引擎必须允许Servlet释放正在使用的资源并存储有关资料。

为了完成以上工作,引擎会调用Servlet的destroy()方法。

在卸载一个Servlet之前,Servlet引擎必须等待所有的service()方法完成或超时结束(Servlet引擎会对超时作出定义)。

当一个Servlet被卸载时,引擎将不能给Servlet发送任何请求。

引擎必须释放Servlet并完成无用存储单元的收集

Servlet映射技术\r

作为一个Servlet引擎的开发者,你必须对于如何映射客户端的请求到Servlet有大量的适应性。

这份说明文档不规定映射如何发生。

但是,你必须能够自由地运用下面的所有技术:

映射一个Servlet到一个URL

例如,你可以指定一个特殊的Servlet它仅被来自/feedback/index.html的请求调用。

映射一个Servlet到以一个指定的目录名开始的所有URL

例如,你可以映射一个Servlet到/catalog,这样来自/catalog/、 

/catalog/garden和/catalog/housewares/index.html的请求都会被映射到这个Servlet。

但是来自/catalogtwo 

或/catalog.html的请求没被映射。

映射一个Servlet到所有以一个特定的字段结尾的所有URL

例如,你可以映射一个来自于所有以in.thtml结尾的请求到一个特定的Servlet。

映射一个Servlet到一个特殊的URL 

/servlet/servlet_name。

例如,如果你建立了一个名叫listattributes的Servlet,你可以通过使

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1