外文文献及翻译----Servlet和JSP技术简述
时间:2025-03-10
时间:2025-03-10
毕 业 设 计 (论 文 ) 外文文献翻译
专
业
学 生 姓 名 班 学 级 号
指 导 教 师
XX 学 院
外文资料名称:
An Overview of Servlet and JSP Technology
外文资料出处:
Internet
附
件: 1.外文资料翻译译文 2.外文原文
指导教师评语:
签名:年 月 日
1
Servlet 和 JSP 技术简述Nagle and Wiegley XX 译 摘要:Servlet 程序在服务器端运行,动态地生成 Web 页面与传统的 CGI 和许多其他 类似 CGI 的技术相比,Java Servlet 具有更高的效率,更容易使用,功能更强大, 具有更好的可移植性,更节省投资。 关键字:JSP 技术,Servlet,HTTP 服务 1.1Servlet 的功能 Servlets 是运行在 Web 或应用服务器上的 Java 程序,它是一个中间层,负责连 接来自 Web 浏览器或其他 HTTP 客户程序的请求和 HTTP 服务器上的数据库或应用程 序。Servlet 的工作是执行西门的任务,如图 1.1 所示 。
图 1.1Web 中间件的作用 (1) 读取客户发送的显式数据。 最终用户一般在页面的 HTML 表单中输入这些数据。然而,数据还有可能来自 applet 或定制的 HTTP 客户程序。 (2) 读取由浏览器发送的隐式请求数据。 图 1.1 中显示了一条从客户端到 Web 服务器的单箭头, 但实际上从客户端传送到 Web 服务器的数据有两种,它们分别为用户在表单中输入的显式数据,以及后台的 HTTP 信息。两种数据都很重要。HTTP 信息包括 cookie、浏览器所能识别的媒体类型 和压缩模式等。 (3) 生成结果。 这个过程可能需要访问数据库、执行 RMI 或 EJB 调用、调用 Web 服务,或者直接 计算得出对应的响应。实际的数据可能存储在关系型数据库中。该数据库可能不理解 HTTP,或者不能返回 HTML 形式的结果,所有 Web 浏览器不能直接与数据库进行会话。 即使它能够做到这一点,为了安全上的考虑,我们也不希望让它这么做。对应大多数2
其他应用程序,也存在类似的问题。因此,我们需要 Web 中间层从 HTTP 流中提取输 入数据,与应用程序会话,并将结果嵌入到文档中。 (4) 向客户发送显式数据(即文档) 。 这个文档可以用各种格式发送,包括文本(HTML 或 XML) ,二进制(GIF 图) ,甚 至可以式建立在其他底层格式之上的压缩格式,如 gzip。但是,到目前为止,HTML 式最常用的格式,故而 servelt 和 JSP 的重要任务之一就式将结果包装到 HTML 中。 (5) 发送隐式的 HTTP 响应数据。 图 1.1 中显示了一条从 Web 中间层到客户端的单箭头。但是,实际发送的数据有 两种:文档本身,以及后台的 HTTP 信息。同样,两种数据对开发来说都式至关重要 的。 HTTP 响应数据的发送过程涉及告知浏览器或其他客户程序所返回文档的类型 (如 HTML) ,设置 cook
ie 和缓存参数,以及其他类似的任务。 1.2 动态构建网页的原因 预先建立的文档可以满足客户的许多请求, 服务器无需调用 servlet 就可以处理 这些请求。然而,许多情况下静态的结果不能满足要求,我们需要针对每个请求生成 一个页面。实时构建页面的理由有很多种: 1、网页基于客户发送的数据。 例如,搜索引擎生成的页面,以及在线商店的订单确认页面,都要针对特定的用 户请求而产生。在没有读取到用户提交的数据之前,我们不知道应该显示什么。要记 住,用户提交两种类型的数据:显示(即 HTML 表单的数据)和隐式(即 HTTP 请求的 报头) 。两种输入都可用来构建输出页面。基于 cookie 值针对具体用户构建页面的情 况尤其普遍。 2、页面由频繁改变的数据导出。 如果页面需要根据每个具体的请求做出相应的改变, 当然需要在请求发生时构建 响应。但是,如果页面周期性地改变,我们可以用两种方式来处理它:周期性地在服 务器上构建新的页面(和客户请求无关) ,或者仅仅在用户请求该页面时再构建。具 体应该采用哪种方式要根据具体情况而定,但后一种方式常常更为方便,因为它只需 简单地等待用户的请求。例如,天气预报或新闻网站可能会动态地构建页面,也有可 能会返回之前构建的页面(如果它还是最新的话) 。 3、页面中使用了来自公司数据库或其他数据库断数据源的信息。3
如果数据存储在数据库中,那么,即使客户端使用动态 Web 内容,比如 applet, 我们依旧需要执行服务器端处理。想象以下,如果一个搜索引擎网站完全使用 applet,那么用户将会看到:“正在下载 50TB 的 applet,请等待!”。显然,这样 很愚蠢; 这种情况下, 我们需要与数据库进行会话。 从客户端到 Web 层再到数据库 (三 层结构) ,要比从 applet 直接到数据库(二层结构)更灵活,也更安全,而性能上的 损失很少甚至没有。毕竟数据库调用通常是对速度影响最大的步骤,因而,经过中间 层可以执行高速缓存和连接共享。 理论上讲,servelt 并非只用于处理 HTTP 请求的 Web 服务器或应用服务器,它 同样可以用于其他类型的服务器。例如,servlet 能够嵌入到 FTP 或邮件服务器中, 扩展他们的功能。而且,用于会话启动协议服务器的 servlet API 最近已经被标准化 (参见 http:///en/jsr/detail?id=116) 。但在实践中,servelt 的这种用法 尚不流行,在此,我们只论述 HTTP Servlet。 1.3 Servlet 相对于“传统”CGI 的优点 和传统 CGI 及许多类 CGI 技术相比,Java servelt 效率更高、更易用、更强大、 更容易移植、更安全、也更廉价。 1、效率 应用传统的 CGI …… 此处隐藏:17170字,全部文档内容请下载后查看。喜欢就下载吧 ……