基于JSP的在线书店销售系统的设计与实现外文文献及翻译.doc
上传人:猫巷****正德 上传时间:2024-09-11 格式:DOC 页数:24 大小:261KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于JSP的在线书店销售系统的设计与实现外文文献及翻译.doc

基于JSP的在线书店销售系统的设计与实现外文文献及翻译.doc

预览

免费试读已结束,剩余 14 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

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