一个基于JSP的电子商务应用的介绍外文翻译资料
2022-11-08 20:44:39
英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料
一个基于JSP的电子商务应用的介绍
- 你是谁、你为何要阅读这本书?
- 什么是JSP?
- JSP平台的概述
- 我们为何需要数据库?
- MySQL
- 绑定Tomcat和MySQL
- 电子商务发展的路线图
- 接下来的17个章节
你是谁,为什么要读这本书?
至少有三个很好的理由,你可以持有这本书在你手中:
- 你是一个很大程度上依赖于前端系统的java程序员,如基于浏览器的应用程序,你想学习如何实现微妙的内部发条让现代电子商务网站工作。
- 您是一个已确定的电子商务开发人员,从ASP和CGI编程等工具迁移到JSP环境中,并寻找基本实现的完整演练。
- 你是一个学生或入门级程序员寻找一个很好的介绍面向对象的设计。
我希望无论是这三个(或更多)动机中的哪一个迫使你拿起这本书,当你完全明白的时候你就不会需要这些书了。如果我把我的工作做好,你也应该成为一个使用面向对象设计方法的精通JSP电子商务的高效开发人员。
当我作为一个大学教师在设计电子商务网站课程时,这本书让我感到挫败。具体来说,我发现,虽然有厚厚的关于JSP、SQL和面向对象设计的书籍,但没有一本书可以将它们联系在一起并且带领读者通过整个设计过程到完成一项成品。
然而,这本书并不是为一个完全的软件开发小白设立的。我会假设你已经掌握了一些特定的技能,如果没有这些技能,你马上就会一头雾水,这些技能包括:
- 你对java语言具有一定的基础了解。
- 你已经了解过了SQL,虽然我们将使用相当简单的语法,JDBC接口在某些深度被解释。
- 你熟悉基本的HTML设计(包括表单),并且可以简单地了解web页面是如何传递给浏览器的。
如果你的技能表里已经拥有了这些技能,并且你也做好了相应的准备,那么在简短的介绍之后,我们就要开始正题了!
什么是JSP?
如果你符合了上面提到的要求,你就应该已经知道这个问题的答案是什么了。JSP是关于做高度面向对象的网站,可以充分利用所有的现代软件工程的最佳实践。这些实践包括SQL数据库和基于UML的设计等。
这并不是说JSP是万能的并且使用它会自动使你的网站成为工程艺术的典范。和其他技术一样,使用JSP也可能会设计出糟糕的网站。这就是为什么当你阅读本书时,你会看到当项目陷入压力时,应该如何结合最佳实践,以及如何避免陷阱。
JSP的发展是一个循序渐进的过程,从第一代的静态Web服务器开始,到通过CGI启用的服务器,最终形成了第一代脚本启动的服务区。与其说JSP是一个拥有Java元素的Web服务器,不如说它是一个能理解网络的Java引擎。
JSP起源于Java servlets。servlet允许开发人员使用一个Java程序来处理传入的Web请求,这个Java程序能访问所有的由通用网关接口(CGI) 程序传来的正常信息。此外,servlet还可以访问持久性对象的段,这些都是与特定的用户段相关联的,并可在请求之间存储状态的java对象。
Servlet编程是允许开发人员使用面向对象语言编写结构良好的模块化Web应用程序的重要一步。它也解决了状态持久化问题,在事务中允许更多的信息驻留在服务器上,而不必在用户和服务器之间来回传递。
但是servlets仍然会陷入一个重大的问题。因为他们最终需要分离HTML代码,而HTML编码必须嵌入到servlet代码中。这就会导致一个代码片段如图所示:
// Output the HTML Header Out.println('lt;HTMLgt; lt;HEADgt; lt;TITLEgt;Thank you for Registeringlt;/TITLEgt;lt;/HEADgt; ');
Out.println('lt;IMG SRC='thanks.jpg' WIDTH=200 HEIGHT=100 ALIGN='LEFT'gt;');
当你需要编写大量的页面时,这种嵌入非常快。此外,如果你遗漏了一个反斜线符号,在没有所有引号的情况下会导致很多令人困惑和难以发现的错误。
最终,一个更好的想法出现了。假设你能结合最好的静态HTML页面和servlet的交互能力。结果就是JavaServer Pages(在微软那边,结果就是ASP)。如图一所示,JSP是一个复杂的野兽。在下一章中,你将详细浏览这段流程,但目前主要步骤如下:
- 一个来自于使用正规的HTTP请求格式的浏览器的请求。
- Web服务器将请求交给JSP。JSP查看文件名并找到相应的JSP文件。
- .JSP文件转换成一个.java文件,包含了一个名字来源于JSP文件名并能创建出一个类的Java代码。
- JSP使用javac来编译.java文件来产生一个.class文件。注意,如果一个.class文件已经存在并且比.jsp文件更新,则跳过两个前步骤。
- 最新创建的类的一个实例被实例化并发送_jspservice信息。
- 新实例查看是否存在已存在的User在段对象空间中存在stuff.User对象。如果没有,则一个已经被实例化。
- 作为服务的一部分,stuff.jsp是用户实例调用,我们称其为getusername()方法。
- 如果JSP处理需要访问数据库中的信息,它使用JDBC来连接和处理SQL请求。
Figure I.1. Looking at the JSP processing flow.
这就是JSP处理请求的方式。
正如你所看到的,在JSP世界中有大量的能量可以使用。开发人员可以自由的编写网页,除非标注到java是必需使用的,否则大多数网页都是像HTML这样的。但是同时,他们可以使用java所拥有的特点自由开发出完全面向对象的应用程序。他们也将得到servlet的所有优点,包括会话持久性。
JSP与CGI有什么不同?
从JSP和CGI面对这个世界的方式之间存在几个差异,这些差异有些很浅显,而有些很重要。
CGI是一个短暂的野兽,与用户的每一笔交易都是新的一天,开始时一片空白。如果你想把状态向前一点点击到下一步,就需要随身携带页面,或者作为嵌入式隐藏表单标签,作为某种cookie放在URL的查询部分(大如http://www.mysite.com/vi网址 ew.cgi?uid = 234235435不是一个真正的网站),或作为一个会话cookie的浏览器交付。而且,任何你在外部保持的状态,不论是在在文件或数据库中的表,对于每个请求都必须重新加载。
CGI还可以让你把页面从内翻转到外,无论你使用什么语言书写,都可以将你的HTML页面表达在外面。
相比之下,JSP自动地携带从一个请求到另一个请求之间任何你想要保存的状态而你不需要花费任何心思。它让你(作为开发人员),专注于业务逻辑,而不是计算出请求的背景。它还可以让你在面向对象的形式中坚持你的状态,甚至可以让两个用户会话共享它们之间的对象。
除了一些程序性输出必须需要的Java类外,JSP页面看上去和HTML是十分相似的。并且它可以由HTML设计师来进行维护,当然前提是他们能够运用一些基本的警告。它也允许将业务逻辑与演示逻辑分隔开来,它允许您将业务规则置于一组定义良好的类中,而远离Web页面本身。
JSP平台的概述
对于一个想部署在JSP架构上的开发者来说,如今有很丰富的从廉价简单到昂贵复杂的平台可以使用,根据你选择的平台不同,将在你的工具带上放置不同的选项和功能来部署你的站点。部署你的站点。考虑到这一点,让我们看看当前的一些选择以及它们会为你的桌面带来些什么。
Tomcat
Tomcat是Apache软件基金会的雅加达项目的一部分,其中还包括蚂蚁构建工具,log4J日志工具,和Struts应用框架。它是继linux后的又一个开源工具的创始者,只要开发者愿意,他们就可以为他们的最终产品做出贡献。
Tomcat是一个很纯粹的的“jsp和java servlet标准”的实施。网站设计在Tomcat下,不需要在任何符合JSP标准的服务器上进行调整。
只是因为它是免费的,所以导致它不像其它折扣软件那样脆弱,Tomcat受益良多。许多开发商钻研它,就像钻研其他的开源项目那样,这导致Tomcat成为了一个非常强大和高效的产品。
Tomcat也具有一个优势,那就是它可以运行在几乎所有现代的java开发套件和一个网络连接上,从低端Windows框架到多处理器Solaris服务器。这符合java“一次写入”的理念。这允许你根据你的需求增长来扩展您的平台。
然而,Tomcat在高端网站所需要的更高级的功能中功亏一篑,例如无缝切换。为此,你需要要么写自己的平台,要么去一个商业(和更昂贵)的平台。
ATG Dynamo
来自艺术科技集团的Dynamo是一个范围广阔的解决方案平台的一部分,还包括Dynamo个性化服务器和Dynamo商务服务。首先要知道的是Dynamo并不便宜,最便宜的也得五位数起。
如果你想实施某些电子商务应用,特别是涉及购物车和会员个性化,Dynamo为你的桌面带来的主要是大量的预处理工作。即便如此,它们只是模板,你仍然需要做大量的工作。定制和扩展,让它们工作的方式成为你具体要求的方式。
Dynamo也有自己的脚本语言,作为一个辅助JSP的语言,看起来很像HTML。该理论似乎是使那些在网页上工作的但不是开发者的人感觉更舒服,如果他们没有看到很多嵌入在HTML中的java。
然而事实上,标记语法过于冗长,本可以用4或5行纯JSP说明的问题,最终会使你使用20行来说明。我曾经做过一个项目,我们尽我们最大的努力试图只使用纯脚本语言来书写所有的内容,在客户的要求下,我们几乎是疯狂的努力。
iPlanet
iPlanet是这个问题的答案,“当你与NetScape、Sun、和AOL为伴是发生了什么?”在很多方面,iPlanet是“开挂版”的Tomcat。Sun的产品很多,包括一个LDAP服务器、消息服务器和日历服务器,它们都在在iPlanet的标题下。然而,我们要谈谈关于此上下文中的应用程序服务器。
iPlanet使用的是Sun的java 2平台企业版(J2EE),作为一个基于JSP/EJB服务器的基础。它被设计为可以高度扩展,它提供了高可靠性操作的支持,并且它可以通过连接器集成了许多遗留应用程序。
例如,iPlanet在使用IBM MQSeries消息服务或与SAP系统回话时,配置是十分容易的。当你在部署大量带有许多用户的大型机时,这种集成功能可以成为节省时间的关键。
尽管JSP服务器依然是它的核心,如果你想把很多单独的部分放置于Tomcat上,你可以使它看起来更像iPlanet,也许除了Sun无形的声明之外,它运行非常快而且不会崩溃。
Websphere
除非IBM公司被邀请,否则不会是聚会,对吧?作为公司从专有软件到开源软件180°转变的一部分,IBM已经推出了自己的JSP服务器。
WebSphere可在多个版本中使用,这些版本跨越了类似Tomcat的JSP服务器的范围一个完整的“能做任何事”的产品,比如iPlanet。
此外,像iPlanet,IBM为桌面带来的卡旨在提供高可靠性要求和吞吐量,并易于与传统应用程序相结合。
Websphere
像IPlanet和WebSphere、WebLogic是JSP平台分层集成到后端遗留系统、个性化、门户服务器等。
WebLogic声称其应用服务器是市场中的第一位,它似乎有庞大而活跃的客户群。
四大商业平台之间的选择将主要集中在功能设置需要和评估哪个平台最能满足这些需求。
如果你正在考虑这些平台中的一个平台(尤其是iPlanet或WebSphere),它可能真的是一个很庞大和复杂的东西。它是50磅大锤,目的是为了解决大型组织中的复杂应用。谢天谢地,我们不会处理在任何在这本书中的大量且复杂的工作,所以我们会让它们保持原有的状态。
我们为什么需要数据库?
好,一个原因就是为了让拉里埃里森想到比尔盖茨的时候,他的Oracle有能力保持自己百忧
解。更严重的回答是相同的原因也就是驾驶人先按下针对一块湿粘泥:因为把事情记下来是好的。
Web服务器是了不起的创造,但他们是一个有点像白痴专家。请他们为一个网页或运行Java的一段,他们表演的像一个冠军。但开始要求他们记住他们五分钟前做了什么,和他们显露的比一个肥皂剧里的人物失忆还快。
第一个也是最重要的原因是你使用的数据库是有大量的数据在电子商务交易里,你必须记住并跟踪:
- 一个用户的姓名,地址,信用卡和其他信息以前进入了一个注册页面 <l
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[138686],资料为PDF文档或Word文档,PDF文档可免费转换为Word
</l