关键词不能为空

当前您在: 主页 > 英语 >

超市管理系统设计中英文对照外文翻译文献

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-01 05:14
tags:

-

2021年3月1日发(作者:episode)


毕业论文外文翻译





超市管理系统设计中英文对照外文翻译文献




(


文档含英文原文和中文翻译


)





基于< /p>


Java


技术的


Web

< br>应用设计模型的比较研究



摘要



Servlet


技术在建立可扩展性


W eb


应用中是被应用最广泛的技术。在运用


JAVA

< p>
技术


开发


Web


应用中有 四种模型,分别是:


Model


1



Model

2



Struts



JavaServer


Faces



JSF


)。


Model 1


使用一连串的


JSP


页面;


Model 2


采用了模型-视图-控制器(


MVC



模式;


Struts


是一个采用了< /p>


Model 2


设计模型的框架;


JSF


是一种支持


ready-to-use



件来进行快速


Web


应用开发的新技 术。


Model 1


对于中等和大型的应用来说很难维护,


所以不推荐使用。本文通过利用


Model 2


Struts



JSF


这三种模型分别构建三个不同


1



毕业论文外文翻译



版本的在线商店应 用程序,来比较和评价这三种模型在应用程序开发和性能上的差


异。


1.


绪论


当今,


Web


应用是一种展现动态内容的最普遍的方式。< /p>


构建


Web


应用有许多种方法,


其中最流行的是


Servlet


技术。这种技术 的流行是因为它比


CGI



PHP


等其他技术更具


优越性。然而


Servle t


对于开发来说还是麻烦的,因为它在传送


HTML

< p>
标签时需要程序


员将他们组合成为一个字符串对象,再将这个对象传给浏览 器。同样的,对于输出的


一个很小的改动也要求


Servlet


被重新编译。基于这个原因,


SUN


公 司发明了


JavaServer Pages



JSP


)技术。


JSP


允许< /p>


HTML


标签和


Java


代码混合在一起,每个页面


将被转化为一个


Servl et


,一个


JSP


就是一个

< p>
Servlet


,而且编译将在


JSP

< p>
页面第一次被


请求时自动进行,改变输出也不需要重新编译。



另外,通过使用


JavaBean


和定制标签库,


JSP


能够将表示与业务逻辑相分离。




今,基于


JAVA



Web


应用开发标准是将< /p>


servlets



JSP


结合在一起。随后,出现了许多


种设计模型用来构建


servlet/JSP


应用:


Model


1



Model

2



Struts]


< p>
JavaServer


Faces


< p>
JSF


)。


Model 1



Model 2


最早是在


JSP


规范中被提及的。


Model 1


只使用


JSP


而不使



servlet



Model 2< /p>


则结合了


JSP



servlet



Model 1



Model 2


的使用是有条件的,


Model 1


适合与开发原型和非常小的应用,


Model 2

< p>
则是开发中型和大型应用推荐的设


计模型。由于


M odel 2


越来越被行业所接受,一个建立


Struts


框架的开源项目也因此


被启动了。


Stru ts


通过为


Model 2


提供了模型-视图-控制器中的控制器来完善


Model < /p>


2


。另外,


Struts


提供了更好的页面导航管理机制和一些定制标签库,能够进行更快


速的开发。尽 管它学习难度大,并且,实际上它没有在任何的规范中被定义,但是它


还是作为


Model 2


的一种替代获得了流行。


JavaServer Faces


是在


JCP



JSR-127


规范


下被建立。


Sun


公司力推这项技术,希望它能够成为构建


Java Web


应用的最终模型。


JSF


最重要的特性是对


ready-to-use


组件的支持,比如:可扩展用户接口 组件、简易


的页面导航、输入验证、数据转换和


JavaBea n


管理机制。


servlet/JSP


程序员面临的


问题是选择最合适的设计模型。明显的,


JSF< /p>


在开发时间上提供了更好的解决方案。


然而,有些人担心实施


JSF


的开销所带来的性能下降而不愿采用这种技术。



我们使用


Model


2



Struts

< br>和


JSF


分别构建三个不同版本的在线商店应用,


比较的


参数是:代码的行数、类的数目和性能测试结果。



2



毕业论文外文翻译



我们研究哪种设计 模型能够进行最快速的开发。我们评估基于这些模型的应用的


性能。我们提供一些建议来 完善现有的设计模型,使得开发速度更快。



文章的余下部分组织如下:



第二部分 讨论了


Web


开发中的问题,第三部分解释了三个设计模型如何 来解决这


些开发问题,第四部分详细介绍了试验所需要的硬件和软件,第五部分给出试验 的结


果并进行分析,第六部分回顾相关工作,第七部分得出结论并提出了一些改进现有设


计模型的建议。




开发中的问题



所有的


Java


开发都使用


Serv let


技术作为基础技术。同样的,所有的


Java Web



用都有一些问题需要解决:



1.


用户接口是在客户浏览器上呈现出的


HTML


标签。任何在应用中使用的服务器端


组件都必须被编 码成为正确的


HTML


标签。除了显示内容和数据外,用户接口 还负责接


收用户的输入。



2.


用户的输入必须要验证。输入的验证有两种类型:服务器端和客户端。顾名思

< br>义,服务器端的输入验证是在输入的数据到达服务器后,在服务器上进行的。客户端


的输入验证是在浏览器上完成的,一般使用


JavaScript

或其他脚本语言。利用客户端


进行输入验证的好处是反应迅速,而且能够减轻服务器 的负载。无论是否存在客户端


输入验证,服务器端的输入验证是一定要执行的,因为无法 保证用户的浏览器的脚本


特性被打开,而且恶意用户能够很轻松的绕过客户端的验证。< /p>



3.


在基于


J ava



Web


应用中模型对象是以< /p>


JavaBean


的形式出项的。模型对象组成

< br>了基于


MVC


设计模型的模型部分。一个模型对象能够用 来绑定一个组件的值,以备下


阶段使用。此外,它能够封装需要执行的业务逻辑。



4.


大多数的


We b


应用都包含多个页面,能够使用户从一个页面跳转到另一个页面。

所有的基于


MVC


的设计模式都使用


Servlet


作为控制部分。这个


Servlet


也作为进入应


用的唯一入口。当前的请求之后哪个页面会被显示取决于请 求参数的具体值。管理页


面导航是至关重要的。



3



毕业论文外文翻译




应用设计模型



Model 2


设计模型是基于模型-视图-控制器(


MVC


)设计模式的。正如


Burbeck


所解释的,在


MVC


中有三个主要模块:控 制器,视图和模型。控制器作为应用的中心,


所有的用户交互都要通过它。视图包含了应 用的显示,而模型用来存储数据和封装应


用的业务逻辑。随后,


Struts


框架提供了一个通用框架能够容易的构建


Mode l 2


应用。


最主动的是同样使用


MV C


设计模式的


JSF


。在之后的章节, 我们将来讨论这三种设计模


型,并且说明每一种设计模型是怎样来解决之前提到的开发问 题。



3.1 Model 2


一个基于


Model 2


设计模型的


Java Web


应用有 一个作为控制部分的


servlet


(称为

控制器


servlet


)。所有的请求首先被这个


servlet


处理,它通过


RequestD ispatcher


对象将请求迅速的分派到合适的视图。在


M odel 2


中视图是通过


JSP


页面 来表现的。


JavaBean


作为


Mo del


2


的模型部分,


用来在应用 中存储数据。


除了存储数据,


JavaBean


还用来封装业务逻辑。每个


HTTP


请求都带有一个行 为参数,用来指出哪个视图指派给


这个请求。程序员必须在所有的


JSP


页面中为用户接口编写


HTML


标签代码,并且编写


输入验证代码。此外,模型对象被单独的


JSP


页面所管理。



3.2 Struts


Struts


框架是


Model


2


设计模型的一个改进。


它提供了一个默认 的控制器


servlet



使得程序员 不用非得去编写一个。


Struts


允许在应用配置文件(一个


XML


文件)中编


写导航规则来减轻页 面导航的任务,改变导航规则不需要重新编译。除了更简单的页


面导航,


Struts


还提供了定制标签库来定义标签代表


HT ML


元素。这些标签中的一些用


来处理异常,而且


Struts


支持国际化,能够显示本地化的错误消息。就像


Model 2



样,


Str uts


使用


JavaBean


作为模型 。此外,


Struts


程序员必须编写输入验证代码。



3.3 JSF


JSF

同样使用了一个控制器


servlet


,称为


FacesServlet


。这个


Servlet< /p>


是整个


JSF


应用的唯一入口。


JSF


同样使用


JSP


页面作为它的视图,使用


JavaBean


作为模型对象。



Model 2



Struts


不同,


JSF


提供了能 够写入


JSP


页面的


ready- to-use


的用户接口组


4



毕业论文外文翻译



件。在

< p>
JSF


应用中的页面的调用,


FacesServ let


建立了一个组件树来显示


JSP


页面的请


求。大部分的组件还能够触发事件,来构成


JSF


的事件驱动。对于页面导航,


JSF


使用< /p>


了和


Struts


类似的方法,即允许在 一个应用控制文件(


XML


文件)中定义导航规则。

< p>


JSF


应用与非


JSF



servlet/JSP


应用的不同 在于


JSF


是事件驱动的。


JSF


的用户接


口是一个或多个


JSP

< p>
页面,用来服务诸如表单和输入框等


Web


组件。 这些组件以


JSF



制标签的形式出现 而且能够保存数据。一个组件能够嵌套在另一个组件中,有可能形


成一个组件的树状结构 。在普通的


servlet/JSP


应用中,使用


JavaBean


来存储用户输


入的数据。



4.


运行环境






以下是我们实验的软硬件详细描述。



4.1 Servlet


容器



Java Web


应用是在


servl et


容器中运行的,在应用中它一个引擎,用来处理接踵


而来的 请求资源的


HTTP


请求。在这个试验项目中,我们使用


Tomcat


-一个来自


Apache


软件基金会的开源的


servlet


容器,版 本号是


6.0


。基本上,一个


serv let


容器通过执


行下面的任务来处理一个

servlet




?



创建一个


HttpRequest


对象



?



创建一个


HttpResponse


对象



?



传递


Ht tpRequest



HttpResponse


对象来调用


Servlet


接口的

< br>service


方法



4.2


测试用客户端



为了进行性能测试,我 们使用同样来自


Apache


软件基金会的

JMeter1.9


来模拟多


用户。


JMeter


允许用户选择一定数量的线程来执行测试。每个线程模拟了一个不同的< /p>


用户。


JMeter


来能允许我们选择完 成一次测试的测试次数。


使用


JMeter

来测试一个


Web


应用,你只要直接向某个


IP


地址、上下文路径和端口号发出请求。你也可以将请求参

< br>数包含在


HTTP


请求中。


对于 一个测试,


JMeter


将服务器的响应时间以毫秒的形式输出 。


从响应时间,我们能够得到服务器执行服务的每秒命中次数。



5



毕业论文外文翻译



4.3


硬件



为了得到最大的性能度量精度, 我们使用不同的计算机来进行应用的测试。运行


应用的是一台


X P


计算机,它的配置如下:


Intel Core 1GHz CPU



1G RAM


。测试用客< /p>


户端是运行


JMeter



Windows2000


计算机,具体配置如下:


I ntel


Core


1GHz


CPU



1G


RAM




5.


结论



我 们得到两类实验结果:开发的难易程度和性能。开发的难易程度比较了类的数


目和代码的 行数。这些数目显示了遵从某个设计模型来开发一个应用的难易程度。一


个应用包含较少 的类和较少的代码行数说明应用相对而言更容易构建。一个应用包含


较多的类说明应用需 要花费更多的时间来开发。



性能度量结果是通过比较这两个操 作来获得的。查找操作是一个应用中最普通的


操作以及浏览操作。



5.1


应用开发的难易程度


< /p>


就如表


1


显示的,应用

< br>Model 2


设计模型需要花费最多的努力,使用


St ruts


能够使


问题减轻一点,使用


J SF


最省力。




1


应用中类的数目和代码行数




Model 2


设计模型的特点是存在一个控制器

< p>
servlet


和多个


JavaBean


类(作为模


型)及


JSP


页面(作为视图)。控制器类通过一系列的


if


语句来负责页 面导航规则。


Model 2


程序员还必须为输入验证编写代码 ,在这个实验中是通过在内部编写许多定


制标签库来完成的。在


Model 2


设计模型中的其它类是定制标签库,这些标签是用来


6



毕业论文外文翻译



负责输入验证和数据显示的。实际上,输入验证使用了


590

< br>行代码,大约是所有代码



30%





Struts


应用中


,


控制器


servle t


是由框架提供的,所以


Struts


程序员不用编写


它,节省了时间。然而,他仍然需要在应用控制文件中编写导航规则,这 比编写一个


servlet


容易些,因为应用控制文件可以用文 本编辑器编辑,不必编译。虽然


Struts


框架提供了错误处 理机制,但仍然需要手工编写输入验证。用来进行输入验证的类的


数量和代码的行数与< /p>


Model 2


应用的很相似。


Stru ts


中其他的类是


Action


类,用 来调


度请求到默认的控制


servlet





JSF


中,提供使用验证组件而不用编写输入验证,所以


JSF


应用 开发人员可以跳


过这个任务。此外,页面导航和


Struts< /p>


相同,都是使用一个应用控制文件。在


JSF

中,


其他的类是


ContextListener



ActionListener


和数据库工具 类。



5.2


性能度量



对于每一个操作,通过


1



10


个并发用 户,我们来测量服务器的响应时间(以毫


秒形式)


每个用户在< /p>


JMeter


中设定了一定数量的线程。


每次测试进行


10


次,


取平均值。


每个操作在下面的章节中讨论。



5.2.1


查询操作



查询操作,其名称或描述与关键字匹配。它将执行一个


SQL



SELECT


语句。图


2< /p>



较了三个版本的应用的查询操作。





2


查询操作的性能比较



7



毕业论文外文翻译




Model 2


应用中,对于一个用 户,服务器平均的响应时间是


173


毫秒,对于


10



用户是


919


毫秒。在


Struts


应用中,相对地,其值是


189


毫秒和


900

< br>毫秒,在


JSF


中则是


210< /p>


毫秒和


932


毫秒。响应时间随着并发用 户数成比例的增加,说明了服务器仍然能够


应付装载。



Model 2


应用开销最小,所以它的平均性能比

< p>
Struts



JSF


更 好。然而,


Struts



性能同


Model2


的相同,这是因为服务器有足够的内存用来加载运行


Struts


需要的


Struts


库。同时,应该注意到


Struts


中的页 面导航规则是加载和存储在一个叫


ActionMapping


的对象中。因此,给出一个请求参数,导航到下个页面是通过查找得


到的。另一方面,给 出一个请求参数,


Model 2


应用是利用一系列的


if


语句来得到下


一个页面的导航。

< p>


在几乎所有的并发用户数字中,


JSF


应用的性能都稍逊于其他应用。这可能是由



J SF


将时间消耗在为每个请求构建一颗组件树上。但


JSF


的服务器响应时间与其他应


用差距并不明显。



5.2.2


浏览操作



三个版本的浏览操作


,


如同查询操作,将执行一 个


SQL SELECT


语句。图


3< /p>


这个操作


的测试结果。





3


浏览的性能比较



平均来说,


Model 2


应用的性能 最好,因为它具有最少的开销。对于是一个用户


服务器的平均响应时间是


111


毫秒,


10


个用户是< /p>


899


毫秒。


Struts


应用有着同样的性能,


对于是一个用户服务器的平均响应时间是


180


毫秒,


10


个用户是


920


毫秒。


JSF

< br>则稍落


8



毕业论文外文翻译



后与其他两个应用 ,相对地,它的时间是


190


毫秒和


1 009


毫秒。响应时间随着并发用


户数成比例的增加,意味着服 务器能很好地服务这些用户。浏览地平均性能测量结果


同查询操作很相似,这是因为这两 种数据库操作类似。



6.


相关工作



使用


servlet



PHP


(版本


3


)、通用网关接口(


CGI


)来比较基于数据库的


Web



用的性能。


经过执行从


My SQL


数据库返回数据的一系列的基准测试,


发现


Java


servlet


使用持久数据库连接的方 案性能最佳。


PHP3


使用持久数据库连接相对于


CGI


方案而言


性能相当不


,


也同样提到了使用


Java servlet


的优势。根据这些作者,


Java servl et


是迎合电子商务(比如在线商店)需求的最佳选择,而且能够在高交互式模式中处理


客户请求。



比较

PHP4



Java servlet

、和


EJB


。使用两个应用来测试了这三种结构

< p>
,


研究显示



PHP4< /p>



Java servlet


更有效,而


EJB


的性能比


servlet


差。然而,注意到作为


Java


< p>
案的一部分的


servlet


提供了适应性,能够 移植到不同操作系统的其他系统上。



7.


结论



我 们发现使用


JSF


构建


Web


应用最迅速;


Model 2


最慢但性能最好;


Struts


应用在


计较中处于其他两 种设计模型中间。



我们提出了一些建议,用来大体上改善


Servlet


技术和增强基于这些设计模式的

应用的性能。



Struts


没有 基于任何规范,也没有文档来讨论它的内部工作方式。因此,很难知


道哪些实现了以及哪 些改善了。



Servlet


技术,< /p>


Servlet2.3


规范没有定义任何的缓存机制,也没有在即 将到来的


Servlet2.4


中提及。尽管

< br>Web


应用的内容具有动态性,但有写内容也不是经常去改变

了。比如,在在线商店的应用中,用户可以浏览的商品种类可能每隔一个月才变动一


次。如果这些半静态的内容必须每次在需要的时候从数据库中获取,将浪费大量的编


程资 源。


Servlet


程序员通过编写一个对象缓存某些内容来实 现缓存。然而,只要没


有缓存标准,许多程序员将反复的写相同的代码断。



Model 2


主要的缺点是页面导航规则在控制 器


servlet


中是硬编码的。这意味着程

< br>序流程的任何微小的改动就需要控制器


servlet


重 新编译。解决这个问题的方法是在


9



毕业论文外文翻译



应用启动时,提供 一个映射器来读取页面导航规则。在控制器


servlet


的< /p>


init


方法中


很容易添加代码。这个方 法只执行一次,就是在


servlet


首次被载入内存的时候。 如


果属性文件在每次改动后需要重新读取,程序员可以在每次请求时检查属性文件的时< /p>


间戳,将它于先前读入的文件比较。如果它比之前读入的文件的时间戳更新,则重新


构建映射器。这个特性可以在上下文对象的初始化参数中开启或者关闭。从开发的角

< p>
度来讲,这个特性应该开启。在部署时,这个特性应该关闭。使用属性文件来存储页


面导航规则还可能避免在控制器中的一连串的


if


语句


,


它将在每次请求时消耗时间。


可以使 用一个


HashMap,


将请求参数作为


Key


值,将跳转页面作为


Value


值。这个设计模


型的另一个缺陷是缺少标准的输入验证组件和用户接口组件,而这些将 在


JSF


中得到


解决。



JSF


解决了开发


Web< /p>


应用中的大部分问题,比如:页面导航管理、用户接口组件和


输入 验证组件。然而,由于这项技术仍然很年轻,还没有太多的用户接口可用,强迫


了程序员 将


JSF


和非


JSF

< br>的


servlets/JSP


页面相结合。


JSF


是事件驱动的,


JSF


程序员通


过编写事件监听来决定


JSF


应用的行为,就像


Swing


应用中的监听器一样。在


JSF 1.0


版本中,通常有两类事件能够被触发:


ActionEvent



ValueChanged Event


,但这已经


能在应用和用户之间提供足够好的交互性 了。

















10



毕业论文外文翻译






原文


:





11


-


-


-


-


-


-


-


-



本文更新与2021-03-01 05:14,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/686161.html

超市管理系统设计中英文对照外文翻译文献的相关文章