《订单管理系统中英文对照外文翻译文献.docx》由会员分享,可在线阅读,更多相关《订单管理系统中英文对照外文翻译文献.docx(15页珍藏版)》请在三一办公上搜索。
1、订单管理系统中英文对照外文翻译文献中英文对照外文翻译 (文档含英文原文和中文翻译) MySQL and JSP Web applications JSP developers encounter unique problems when building web applications that require intense database connectivity. MySQL and JSP Web Applications addresses the challenges of building data-driven applications based on the JavaS
2、erver Pages development model. MySQL and JSP Web Applications begins with an overview of the core technologies required for JSP database development-JavaServer Pages, JDBC, and the database schema. The book then outlines and presents an Internet commerce application that demonstrates concepts such a
3、s receiving and processing user input, designing and implementing business rules, and balancing the user load on the server. Through the JDBC (Java DataBase Connector), the developer can communicate with most commercial databases, such as Oracle. The solutions presented in MySQL and JSP Web Applicat
4、ions center on the open source tools MySQL and Tomcat, allowing the reader an affordable way to test applications and experiment with the books examples. So What Is JSP All About? If you meet the requirements mentioned, you should already have a pretty good idea what the answer to this question is.
5、JSP is all about doing highly object-oriented Web sites that can leverage all the best practices of modern software engineering. These practices include things such as SQL databases and UML-based design. This isnt to say that JSP is a cure-all and that using it will automatically make your Web site
6、a paragon of engineering art. Its just as possible to design bad Web sites in JSP as with any other technology. Thats why, as you go through the text, you will see how to incorporate the best practices and how to avoid the pitfalls of convenience when projects get stressful. JSP itself is an evoluti
7、onary step along the path that started with the first static Web servers, moved through CGI-enabled servers, and finally the first generation of script-enabled servers. JSP is less a Web server with a Java component than it is a Java engine that understands the Web. JSP grew out of Java servlets. Se
8、rvlets allow the developer to handle the incoming Web requests using a Java program that has access to all the normal information that a Common Gateway Interface (CGI) program would. In addition, the servlet has access to session-persistent objects. These are Java objects that are associated with a
9、specific user session and can be used to store state between requests. Servlet programming was a major step forward in allowing developers to write well-structured modular Web applications using an object-oriented language. It also solved the problem of state persistence, allowing more information t
10、o reside on the server during a transaction and less to have to pass back and forth between the user and the server. Servlets still suffered from one major problem. Because they eventually need to spit out HTML, the HTML coding had to be embedded in the servlet code. This led to code fragments like
11、the one shown here: Out.println(nnThank you for Registeringn); Out.println(); This kind of embedding gets very old very fast when you have to code a lot of pages. In addition, having to escape all of the quotation marks can lead to a lot of confusing and hard-to-find errors if you leave out a backsl
12、ash. Eventually, a still-better idea emerged. Suppose that you could combine the best of static HTML pages and with the interactive capabilities of servlets. The result was JavaServer Pages (on the Microsoft side, the result was Active Server Pages). As Figure I.1 shows, JSP is a complicated beast.
13、In the next chapter, youll walk through this flow in detail, but for the moment, here are the major steps: 1. A request comes in from a browser using the normal HTTP request format. 2. The Web server hands off the request to JSP. JSP looks at the filename and finds the appropriate JSP file. 3. The .
14、jsp file is converted into a .java file, containing Java code that will create a class whose name is derived from the .jsp filename. 4. JSP then compiles the .java file using javac to produce a .class file. Note that the two previous steps are skipped if a .class file already exists and is newer tha
15、n the .jsp file. 5. An instance of the newly created class is instantiated and sent the _jspService message. 6. The new instance looks to see if there is already an instance of the stuff.User object called user existing in the session object space for the currently connected user. If not, one is ins
16、tantiated. 7. As part of servicing stuff.jsp, the user instance is called with the getUserName method. 8. If the JSP processing requires access to information in a database, it uses JDBC to make the connection and handle the SQL requests. As you can see, a tremendous amount of power is available in
17、the JSP world. Developers are free to write Web pages that look mostly like HTML, except where callouts to Java are required. But, at the same time, they are free to develop fully fleshed-out object-oriented applications using all the features that Java can bring to bear. They also get all the benef
18、its of servlets, including session persistence. Why Do We Need Databases? Well, one reason is so that Larry Ellison of Oracle can afford to keep himself on Prozac when he thinks about Bill Gates. A more serious answer is the same reason that drove man to first press a stick against a piece of wet mu
19、d: because its good to write things down. Web servers are marvelous creatures, but theyre a bit like idiot savants. Ask them to serve a Web page or run a piece of Java, and they perform like a champ. But start asking them to remember what they did five minutes ago, and they develop amnesia faster th
20、an a character in a soap opera. The first and most important reason that you use databases is that theres a lot in an e-commerce transaction that you need to remember and track: A users name, address, credit card, and other information previously entered on a registration page hat the user might hav
21、e put into a shopping cart and left from a previous transaction What items are in stock, along with their price, description, and so on Orders that need to be fulfilled, orders that have been shipped, and items that have been backordered . Now, you could store all this information in a flat file on
22、the servers hard disk, but there are other important properties that you want to have for this data: You want to be able to back out a transaction if part of it fails. You want to be able to locate the data somewhere more secure than the Web server, which could be in a DMZ or outside the firewall al
23、together. You want to be able to access data such as user data or products quickly, even if there are thousands or millions of them. When you add these items to the shopping list, only a relational database will really do the job effectively. MySQL Many sites dont need the battleship strength (and p
24、rice tag) of Oracle. MySQL is an open-source SQL database available for anyone to use, with many (although not all) of the features of its big brothers, such as Oracle. MySQL is available for just about any computer that has decent powerit is fairly lightweight on the processor and easy to install (
25、10 minutes, as opposed to multiple hours for Oracle). So, perhaps you are wondering, whats the catch? What are you not getting in MySQL that makes people turn to Oracle? Well, MySQL is a neat little package, but it is missing some things that would be nice to have in a perfect world. A major feature
26、 that MySQL does not offer is database consistency checking. You can use foreign key tags in your schema, but MySQL cheerfully ignores them. A lot of DB As I know would consider this a very bad thing. A foreign key constraint prevents you from creating inconsistent data. For example, lets suppose th
27、at you had a scheme that looked like this: CREATE TABLE USER ( USERID INTEGER, FIRST_NAME VARCHAR(80), LAST_NAME VARCHAR(80); CREATE TABLE PURCHASE ( USERID FOREIGN KEY USER(USERID), ITEM INTEGER, QUANTITY INTEGER); In a database such as Oracles, if you created an entry in the PURCHASE table with a
28、user ID of 3, there would have to already be a user ID of 3 in the USER table or an error would occur. Similarly, you couldnt delete user 3 from USER if it was referenced in PURCHASE.The MySQL folks make a pretty impassioned argument in their documentation that depending on foreign keys for data int
29、egrity is a bad idea anyway, but convincing your DBA of this philosophy is likely to degrade into a religious debate. In addition, some other features are missing, such as subselects and select into. But probably the other major piece that you will miss is the rollback/commit functionality. MySQL do
30、es implement rollback and commit for certain types of tables, but not all of them. Again, the MySQL folks offer their own spin on why this is okay, but being able to roll back transactions is (in my opinion) important enough to make sure that you have it available. Rollback allows you to set a savep
31、oint on the database before starting to do a series of transactions with it, and be able to either roll back to the original state or commit the changes at the end. For example, when recording a purchase, you need to record a debit against the users account and enter a record into the shipping table
32、 so that youll know later to ship the item. Lets say that the second part fails. You wouldnt want to charge the user but not ship the item. Thus, youd want to roll back to the state before the transaction began. So, MySQL isnt a full-blown production databaseat least, not yet. Its still good enough
33、for probably 90% of the e-commerce sites in the world, however. And version 4.0, which is in alpha as of this writing, addresses a number of these concerns, including row-level locking and transaction control. Putting Tomcat and MySQL Together Combining Tomcat and MySQL provides a powerful, reliable
34、, and free platform that you can use to learn, develop, and deploy JSP applications. And, best of all, the code that you develop using this platform will run nicely using iPlanet and Oracle or WebSphere and SQL Server. As a learning tool the two together are almost reference implementations of their
35、 respective protocols (JSP and SQL). As a result, you wont pick up any nasty vendor-proprietary bad habits while youre getting up to speed. In addition, you can enjoy the knowledge that you are supporting the open-source software movement. Open-source software is code that is made freely available u
36、nder one of several public licenses, frequently the GNU General Public License (GPL). Why is it good to support this movement? There are two sides to this answer: one technical and one political. Technically, its a good thing because open-source software tends to encourage the development of open st
37、andards such as JSP and JDBC, allowing you to choose your tools from among a larger group rather than being locked into one vendors proprietary solution. Its a positive thing politically because it keeps the large companies honest. WebLogic and iPlanet have to stay competitive and responsive because
38、 they know that theres a free solution out there if they arent. And when you use open-source software, you are sending a message that your overriding concerns are features and reliability, not having a large company to sue if something goes wrong. MySQL和JSP的Web应用程序 JSP开发人员构建Web应用程序时遇到需要强大的数据库连接的特殊问题
39、。 MySQL和JSP的Web应用程序解决了构建数据驱动的应用程序JavaServer页面上的发展模式为基础的挑战。 MySQL和JSP的Web应用程序开始一个对JSP数据库开发 - JavaServer页面,JDBC和数据库模式所需的核心技术概述。该书然后概述并提出了互联网商业应用演示,如接收和处理用户输入,设计和实施业务规则,并平衡服务器上的用户负载的概念。通过JDBC,开发人员能够与大多数商业数据库如Oracle进行沟通。在MySQL和JSP的Web应用中心提交了一份关于开源工具MySQL和Tomcat的解决方案,使读者一个经济实惠的方式来测试书中的例子的应用程序和试验。 那么JSP是怎
40、么一回事呢? 如果您符合上述要求的,你对这个问题的答案应该已经有一个相当不错的理解。 JSP是所有关于做高度面向对象的网站,可以利用所有的现代软件工程最佳实践。这些做法包括诸如SQL数据库和基于UML设计的东西。这并不是说JSP是万能的而且使用它会自动将您的网站上的工程艺术的典范。这只是尽可能地用其他任何技术用JSP设计不良网站。这就是为什么,当你详细检查文本的时候,你会看到如何合并最佳方法以及项目得到的压力时候如何避免方便的陷阱。JSP它本身就是从第一个静态Web服务器开始的一个沿路径循序渐进的步骤,通过CGI移动功能的服务器,最后脚本功能的服务器的第一代。 JSP是一个比Java引擎能够熟
41、悉网页的的少了一个Java组件的Web服务器。 JSP是由Java servlet发展演变而来的。servlet允许开发人员处理传入使用Java程序能够访问的所有正常的信息,一个共同的网关接口程序将Web请求。此外,该servlet可以访问会话持久对象。这是Java的都与一个特定的用户会话,可用于存储请求之间的状态对象。 Servlet编程是一个允许开发人员编写结构良好的模块化的Web应用程序使用面向对象语言的重要一步。它还解决了状态持久性的问题,用户和应用程序执行的一个动作或一系列动作期间让更多的信息驻留在服务器上而且较少的反复在用户和服务器之间传递。 Servlet还遭受一大问题。因为他们
42、最终需要输出HTML中,HTML编码必须被嵌入在servlet代码中。导致如下所示的一段代码片段: Out.println(nnThank you for Registeringn); Out.println(); 当你编码很多网页时,这种嵌入式是非常古老非常快的。此外,必须避免所有引号会导致的很多混乱和如果你遗漏了一个反斜杠带来难以发现的错误。最终,一个较好的方法出现。假设你能结合最好的静态HTML页面和servlet的交互能力。其结果是JavaServer页面。JSP是非常复杂强大的。在接下来的章节中,你会通过这个细节流程,但就目前而言,这里是主要的步骤: 1、接到请求时从使用普通的HTT
43、P请求格式的浏览器。 2、WEB服务器切换到JSP的请求,JSP着眼于找到合适的JSP文件。 3、.jsp文件转换成.Java文件,包含Java代码,将创建一个类,它的名称是从.jsp的文件名而得。 4、JSP然后用javac编译.java文件产生一个.class文件。注意如果一个.class文件已经存在而且比.jsp文件新则可以跳过先前的两步。 5、一个新创建的类实例被实例化,并发送_jspService消息。 6、新的实例看看是否已经有一个被称为user的stuff.User对象实例在当前连接的用户会话对象的空间存在。如果没有,一个实例被实例化。 7、作为服务stuff.jsp的一部分,u
44、ser实例将被GetUserName方法调用。 8、如果JSP处理需要访问数据库中的信息,它将使用JDBC来进行连接和处理SQL请求。 正如你可以看到,巨大的能量是在现有的JSP世界里。开发者可以自由编写大多数看起来像HTML的Web页面,除非到Java标注是要求最喜欢看的HTML。但是,在同一时间,他们可以自由地充分发展充实面向对象的应用程序使用Java会带来负担的所有功能。他们也得到servlet的所有优点,包括会话持久性。 为什么我们需要的数据库? 好,一个原因就是为了让拉里埃里森想到比尔盖茨的时候,他的Oracle有能力保持自己百忧解。更严重的回答是相同的原因也就是驾驶人先按下针对一块
45、湿粘泥:因为把事情记下来是好的。 Web服务器是了不起的创造,但他们是一个有点像白痴专家。请他们为一个网页或运行Java的一段,他们表演的像一个冠军。但开始要求他们记住他们五分钟前做了什么,和他们显露的比一个肥皂剧里的人物失忆还快。 第一个也是最重要的原因是你使用的数据库是有大量的数据在电子商务交易里,你必须记住并跟踪: 一个用户的姓名,地址,信用卡和其他信息以前进入了一个注册页面 帽子的用户可能把以前留下交易放进购物车 哪些物品有存货,以及它们的价格,描述等等 订单需要履行,订单已发货,并已待补物品。 现在,你可以存储所有这些信息在服务器上的硬盘平面文件中,但也有你想保存的数据的其他重要属性
46、: 如果交易部分失败,您希望能够收回交易。 您希望能够找到Web服务器安全的地方定位数据,这可能是完全在DMZ或外部的防火墙。 您希望能够如用户数据或产品快速访问数据,即使有数千或上百万数据。 当你添加这些项目的购物清单,只有一个关系数据库才会真正的影响工作效率。 MySQL 许多网站不需要Oracle的历史优势。 MySQL是一个开源SQL数据库可供任何人使用,拥有许多的先前数据库的功能,如Oracle。 MySQL是可用于几乎所有的电脑上有相当好的能力是相当轻量级的处理器,安装方便。 所以,也许你想知道,有什么收获?没有得到什么,你在MySQL中,使人们把目光转向到Oracle?那么,My
47、SQL是一个不错的小程序包,但它缺少一些东西,不然会是不错的一个完美的世界。 一个主要特点就是MySQL不提供数据库一致性检查。您可以使用您的模式外键的标签,但MySQL会忽略它们。据我所知许多数据库管理员会认为这是一个很糟糕的事情。 外键约束防止你创建数据不一致。例如,假设你有一个像这样的数据库表: CREATE TABLE USER ( USERID INTEGER, FIRST_NAME VARCHAR(80), LAST_NAME VARCHAR(80); CREATE TABLE PURCHASE ( USERID FOREIGN KEY USER(USERID), ITEM INT
48、EGER, QUANTITY INTEGER); 在诸如Oracle的数据库里,如果你创建了一个在PURCHASE 表ID为3的用户输入数据库,在USER表里可能已经有一个ID为3的用户或错误会发生。同样,如果它在PURCHASE理是作为参考,你就不能从表USER里删除ID为3的用户,MySQL的人们做了一个漂亮慷慨激昂的论点关于在各自的文档进行数据的完整性取决于外键是无论如何都是一个坏主意,但是说服你的这种哲学的DBA是很可能沦为一个宗教辩论, 此外,其他一些功能缺失,如子查询和SELECT INTO。但可能是其他主要功能,你会漏掉回滚/提交的功能。 MySQL不会执行回滚和为某些特殊类型的表提交,但他们并不全是。同样,MySQL的人提供他们自己的难题为什么MySQL是好的,但能够回滚事务是