欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    JAVA外文文献翻译.docx

    • 资源ID:64762       资源大小:35.50KB        全文页数:24页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA外文文献翻译.docx

    1、中文翻译基于 Java 技术的 Web 应用设计模型的比较研究来源: School of Computer Sci ence and Engi neeri ng Uni versi ty of New South Wal es Sydney, NSW2052, Austral i a作者 : Budi Kurni awan and Ji ngl i ng Xue摘要Servl et 技术是在建立可扩展性 Web 应用中被应用最广泛的技术。 在运用 JAVA 技 术开发 Web 应用中有四种模型, 分别是: Model Model 2、 Struts ft JavaServer Faces JS

    2、F O Model1 使用一连串的 JSP 页面, Model 2 采用了模型, 视图, 控制器 MVC 模式。 Struts 是一个采用了 Model 2 设计模型的框架, JSF 是一种支持 ready- to-use 组件来进行快速 Web 应用开发的新技术。 Model 1 对于中等和大型的应用来说 很难维护, 所以不推荐使用。 本文通过利用 Model 2、 Struts 和 JSF 这三种模型分别 构建三个不同版本的在线商店应用程序来比较和评价这三种模型在应用程序开发和性 能上的差异。1 . 绪论当今 Web 应用是一种展现动态内容的最普遍的方式。 构建 Web 应用有许多种方 法

    3、, 其中最流行的是 Servl et 技术。 这种技术的流行是因为它比 CGI 、 PHP 等其他技 术更具优越性。 然而 Servl et 对于开发来说还是麻烦的, 因为它在传送 HTML 标签时 需要程序员将他们组合成为一个字符串对象, 再将这个对象传给浏览器。 同样的, 对 于输出的一个很小的改动也要求 Servl et 被重新编译。基于这个原因 SUN 公司发明了 JavaServer Pages JSP 技术。JSP 允许 HTML 标签和 Java 代码混合在一起, 每个页面 将被转化为一个 Servl et, 一个 JSP就是一个 Servl et, 而且编译将在 JSP 页面第

    4、一 次被请求时自动进行改变输出也不需要重新编译。 另外通过使用 JavaBean 和定制标 签库, JSP 能够将表示与业务逻辑相分离。 现今基于 JAVA 的 Web 应用开发标准是将 servl ets 与 JSP 结合在一起。 随后出现了许多种设计模型用来构建 servl et/JSP 应 用。 Model 1 、 Model 2、 Struts 和 JavaServer Faces JSF OModel 1 和 Model 2 最 早是在 JSP 规范中被提及的。 Model 1 只使用 JSP 而不使用 servl et,Model 2 则结 合了 JSP 与 servl et。 M

    5、odel 1 和 Model 2 的使用是有条件的。 Model 1 适合与开发 原型和非常小的应用, Model 2 则是开发中型和大型应用推荐的设计模型。 由于Model 2 越来越被行业所接受, 一个建立 Struts 框架的开源项目也因此被启动了。 Struts通过为 Model 2 提供了模型、 视图、 控制器中的控制器来完善 Model 2。另外 Struts 提供了更好的页面导航管理机制和一些定制标签库, 能够进行更快 速的开发。 尽管它学习难度大, 并且实际上它没有在任何的规范中被定义, 但是它还 是作为 Model2 的一种替代获得了流行。 JavaServer Faces

    6、是在 JCP 的 JSRT27 规 范下被建立。 Sun 公司力推这项技术, 希望它能够成为构建 Java Web 应用的最终模 型。 JSF 最重要的特性是对ready-to-use 组件的支持, 比如, 可扩展用户接口组 件、 简易的页面导航、 输入验证、 数据转换和 JavaBean 管理机制。 servl et/JSP 程 序员面临的问题是选择最合适的设计模型。明显的 JSF 在开发时间上提供了更好的解 决方案。 然而, 有些人担心实施 JSF 的开销所带来的性能下降而不愿采用这种技术。我们使用 Yodel 2、 Struts 和 JSF 分别构建三个不同版本的在线商店应用 比 较的参

    7、数是代码的行数、 类的数目和性能测试结果。我们研究哪种设计模型能够进行最快速的开发。我们评估基于这些模型的应用的 性能。我们提供一些建议来完善现有的设计模型使得开发速度更快。文章的余下部分组织如下第二部分讨论了 Web 开发中的问题, 第三部分解释了三个设计模型如何来解决这 些开发问题, 第四部分详细介绍了试验所需要的硬件和软件, 第五部分给出试验的结 果并进行分析, 第六部分回顾相关工作, 第七部分得出结论并提出了一些改进现有设 计模型的建议。2 . Web 开发中的问题所有的 Java 开发都使用 Servl et 技术作为基础技术。 同样的所有的 Java Web 应 用都有一些问题需要

    8、解决:1 . 用户接口是在客户浏览器上呈现出的 HTML 标签。 任何在应用中使用的服务器 端组件都必须被编码成为正确的 HTML 标签。 除了显示内容和数据外, 用户接口还负 责接收用户的输入。2 . 用户的输入必须要验证。 输入的验证有两种类型: 服务器端和客户端。 顾名思 义,服务器端的输入验证是在输入的数据到达服务器后在服务器上进行的。 客户端的 输入验证是在浏览器上完成的, 一般使用 JavaScri pt 或其他脚本语言。 利用客户端 进行输入验证的好处是反应迅速, 而且能够戒轻服务器的负载。 无论是否存在客户端 输入验证, 服务器端的输入验证是一定要执行的。 因为无法保证用户的浏

    9、览器的脚本 特性被打开, 而且恶意用户能够很轻松的绕过客户端的验证。3 . 在基于 Java 的 Web 应用中模型对象是以 JavaBean 的形式出项的。 模型对象组 成了基于 MVC 设计模型的模型部分。 一个模型对象能够用来绑定一个组件的值 以备 下阶段使用。 此外它能够封装需要执行的业务逻辑。4 . 大多数的 Web 应用都包含多个页面. 能够使用户从一个页面跳转到另一个页 面。 所有的基于 MVC 的设计模式都使用 Servl et 作为控制部分。 这个 Servl et 也作为 进入应用的唯一入口。 当前的请求之后哪个页面会被显示取决于请求参数的具体值。 管理页面导航是至关重要的

    10、。3 . Web 应用设计模型Model 2 设计模型是基于模型、 视图、 控制器、 MVC 设计模式的。 正如 Burbeck 所解释的, 在 MVC 中有三个主要模块: 控制器、 视图和模型。 控制器作为应用的中 心, 所有的用户交互都要通过它。 视图包含了应用的显示, 而模型用来存储数据和封 装应用的业务逻辑。 随后, Struts 框架提供了一个通用框架能够容易的构建 Model 2 应用。 最主动的是同样使用 MVC 设计模式的 JSF。 在之后的章节, 我们将来讨论这三 种设计模型, 并且说明每一种设计模型是怎样来解决之前提到的开发问题。Model 2一个基于 Model 2 设计

    11、模型的 Java Web 应用有一个作为控制部分的 servl et 称 为控制器 servl et o 所有的请求首先被这个 servl et 处理, 它通过 RequestDi spatcher 对象将请求迅速的分派到合适的视图。 在 Model 2 中视图是通过 JSP 页面来表现的。 JavaBean 作为Model 2 的模型部分, 用来在应用中存储数据。 除了存储数据 JavaBean 还用来封装业务逻辑。 每个 HTTP 请求都带有一个行为参数, 用来指出哪个 视图指派给这个请求。 程序员必须在所有的 JSP 页面中为用户接口编写 HTML 标签代 码, 并且编写输入验证代码。

    12、此外, 模型对象被单独的 JSP 页面所管理。Struts Struts框架是 Model 2 设计模型的一个改进。 它提供了一个默认的控制器 servl et 使 得程序员不用非得去编写一个。 Struts 允许在应用配置文件一个 XML 文件中编写导 航规则来就轻页面导航的任务, 改变导航规则不需要重新编译。 除了更简单的页面导 航, Struts 还提供了定制标签库来定义标签代表 HTML 元素。 这些标签中的一些用来 处理异常, 而且 Struts支持国际化, 能够显示本地化的错误消息。 就像 Model 2 一 样, Struts 使用 JavaBean 作为模型。 此外 Strut

    13、s 程序员必须编写输入验证代码,JSFJSF 同样使用了一个控制器 servl et 称为 FacesServl eto 这个 Servl et 是整个 JSF 应用的唯一入口。 JSF 同样使用 JSP 页面作为它的视图, 使用 JavaBean 作为模型 对象。 与 Model2 和 Struts 不同 JSF 提供了能够写入 JSP 页面的 ready-to-use 的 用户接口组件。 在JSF 应用中的页面的调用, FacesServl et 建立了一个组件树来显 示 JSP 页面的请求。 大部分的组件还能够触发事件来构成 JSF 的事件驱动。 对于页面 导航, JSF 使用了和 St

    14、ruts 类似的方法, 即允许在一个应用控制文件, XML 文件中定义 导航规则。JSF 应用与非 JSF 的 servl et/JSP 应用的不同在于 JSF 是事件驱动的。 JSF 的用 户接口是一个或多个 JSP 页面, 用来服务诸如表单和输入框等 Web 组件。 这些组件以 JSF 定制标签的形式出现而且能够保存数据。 一个组件能够嵌套在另一个组件中, 有 可能形成一个组件的树状结构。 在普通的 servl et/JSP 应用中, 使用 JavaBean 来存储 用户输入的数据。4 . 运行环境以下是我们实验的软硬件详细描述。Servl et 容器Java Web 应用是在 servl

    15、 et 容器中运行的, 在应用中它一个引擎用来处理接踵而 来的请求资源的 HTTP 请求。 在这个试验项目中, 我们使用 Tomcat - 个来自Apache 软件基金会的开源的 servl et 容器, 版本号是, 基本上一个 servl et 容器通 过执行下面的任务来处理一个 servl et:创建一个 HttpRequest 对象创建一个 HttpResponse 对象传递 HttpRequest s HttpResponse 对象来调用 Servl et 接口的 servi ce 方法 测试用客户端为了进行性能测试, 我们使用同样来自 Apache 软件基金会的来模拟多用户。 JMe

    16、ter允许用户选择一定数量的线程来执行测试。 每个线程模拟了一个不同的用 户。 JMeter 来能允许我们选择完成一次测试的测试次数。 使用 JMeter 来测试一个 Web 应用。 你只要直接向某个 I P 地址、 上下文路径和端口号发出请求。 你也可以将 请求参数包含在 HTTP 请求中。对于一个测试, JMeter 将服务器的响应时间以毫秒的 形式输出。 从响应时间, 我们能够得到服务器执行服务的每秒命中次数。硬件为了得到最大的性能度量精度. 我们使用不同的计算机来进行应用的测试。 运行 应用的是一台 XP 计算机, 它的配置如下: I ntel Core 1 GHz CPU、 1 G

    17、RAM C 测试用客 户端是运行 JMeter 的 Wi ndows2000 计算机, 具体配置如下: I ntel Core 1 GHz CPU、1 G RAMo5 . 结论我们得到两类实验结果: 开发的难易程度和性能。 开发的难易程度比较了类的数 目和代码的行数。 这些数目显示了遵从某个设计模型来开发一个应用的难易程度。 一 个应用包含较少的类和较少的代码行数说明应用相对而言更容易构建。 一个应用包含 较多的类说明应用需要花费更多的时间来开发。性能度量结果是通过比较这两个操作来获得的。 查找操作是一个应用中最普通的 操作以及浏览操作。应用开发的难易程度就如表 1 显示的, 应用 Model

    18、 2 设计模型需要花费最多的努力。 使用 Struts 能莒使问题减轻“使用 95F 取目力 0二 / rServl etf f f 1 Y Bean41 .f I Y AJSP. . . XX ZVOthersf I Y LLTotalf I Y . 一. . 0表 1 应用中类的数目和代码行数Model 2 设计模型的特点是存在一个控制器 servl et 和多个 JavaBean 类, 作为 模型及 JSP 页面作为视图。 控制器类通过一系列的 i f 语句来负责页面导航规则。 Model 2 程序员还必须为输入验证编写代码, 在这个实验中是通过在内部编写许多定 制标签库来完成的。 在

    19、Model 2 设计模型中的其它类是定制标签库, 这些标签是用来 负责输入验证和数据显示的。 实际上输入验证使用了 590 行代码, 大约是所有代码的 30% o在 Struts 应用中, 控制器 servl et 是由框架提供的, 所以 Struts 程序员不用编 写它, 节省了时间。 然而, 他仍然需要在应用控制文件中编写导航规则, 这比编写一 个servl et 容易些, 因为应用控制文件可以用文本编辑器编辑, 不必编译。 虽然 Struts 框架提供了错误处理机制, 但仍然需要手工编写输入验证。 用来进行输入验 证的类的数量和代码的行数与 Model 2 应用的很相似。 Struts

    20、中其他的类是 Acti on 类用来调度请求到默认的控制 servl et o在 JSF 中, 提供使用验证组件而不用编写输入验证。 所以 JSF 应用开发人员可以 跳过这个任务。 此外页面导航和 Struts 相同, 都是使用一个应用控制文件。 在 JSF 中其他的类是 ContextLi stener s Acti onLi stener 和数据库工具类。性能度量对于每一个操作, 通过 1 T0 个并发用户. 我们来测量服务器的响应时间(以毫秒 形式)每个用户在 JMeter 中设定了一定数量的线程。 每次测试进行 1 0 次, 取平均 值。 每个操作在下面的章节中讨论。查询操作查询操作,

    21、 其名称或描述与关键字匹配, 它将执行一个 SQL 的 SELECT 语句。 图 2 比较了三个版本的应用的查询操作。图 2 查询操作的性能比较在 Model 2 应用中, 对于一个用户, 服务器平均的响应时间是 1 73 毫秒, 对于 1 0 个用户是 91 9 毫秒。 在 Struts 应用中, 相对地, 其值是 1 89 毫秒和 900 毫秒, 在 JSF 中则是 21 0毫秒和 932 毫秒。 响应时间随着并发用户数成比例的增加, 说明了服 务器仍然能够应付装载。Model 2 应用开销最小, 所以它的平均性能比 Struts 和 JSF 更好。 然而, Struts 的性能同 Mod

    22、el 2 的相同, 这是因为服务器有足够的内存用来加载运行 Struts 需要 的 Struts 库。同时, 应该注意到 Struts 中的页面导航规则是加载和存储在一个叫 Acti onMappi ng 的对象中。 因此, 给出一个请求参数, 导航到下个页面是通过查找得 到的。 另一方面, 给出一个请求参数, Model 2 应用是利用一系列的 i f 语句来得到 下一个页面的导航。在几乎所有的并发用户数字中. JSF 应用的性能都稍逊于其他应用。 这可能是由 于 JSF将时间消耗在为每个请求构建一颗组件树上。 但 JSF 的服务器响应时间与其他 应用差距并不明显(:浏览操作三个版本的浏览操

    23、作, 如同查询操作, 将执行一个 SQL SELECT 语句。 图 3 这个操 作的测试结果。图 3 浏览的性能比较平均来说, Model 2 应用的性能最好, 因为它具有最少的开销。 对于是一个用户 服务器的平均响应时间是 1 1 1 毫秒, 1 0 个用户是 899 毫秒。 Struts 应用有着同样的 性能, 对于是一个用户服务器的平均响应时间是 1 80 毫秒, 1 0 个用户是 920 毫秒。 JSF 则稍落后与其他两个应用, 相对地, 它的时间是 1 90 毫秒和 1 009 毫秒。 响应时 间随着并发用户数成比例的增加, 意味着服务器能很好地服务这些用户。 浏览地平均 性能测量结

    24、果同查询操作很相似, 这是因为这两种数据库操作类似。6 . 相关工作使用 servl et、 PHP(版本 3) 、 通用网关接口(CGI ) 来比较基于数据库的 Web 应用 的性能。 经过执行从 MySQL 数据库返回数据的一系列的基准测试, 发现 Java servl et 使用持久数据库连接的方案性能最佳。PHP3 使用持久数据库连接相对于 CGI 方案而言性能相当不,也同样提到了使用 Java servl et 的优势。 根据这些作者, Java servl et 是迎合电子商务(比如在线商店) 需求的最佳选择, 而且能够在高交互式模式 中处理客户请求。比较 PHP4、 Java s

    25、ervl et、 和 EJB。 使用两个应用来测试了这三种结构, 研究显 示了PHP4 比 Java servl et 更有效, 而 EJB 的性能比 servl et 差 然而, 注意到作为 Java 方案的一部分的 servl et 提供了适应性, 能够移植到不同操作系统的其他系统 上。7 . 结论我们发现使用 JSF 构建 Web 应用最迅速: Model 2 最慢但性能最好; Struts 应用 在计较中处于其他两种设计模型中间。我们提出了一些建议 用来大体上改善 Servl et 技术和增强基于这些设计模式的 应用的性能。1 . Struts 没有基于任何规范, 也没有文档来讨论它的

    26、内部工作方式。 因此, 很 难知道哪些实现了以及哪些改善了。2. Servl et 技术, 规范没有定义任何的缓存机制, 也没有在即将到来的中提及, 尽管Web 应用的内容具有动态性, 但有写内容也不是经常去改变了。 比如, 在 在线商店的应用中, 用户可以浏览的商品种类可能每隔一个月才变动一次。 如 果这些半静态的内容必须每次在需要的时候从数据库中获取, 将浪费大量的编 程资源。 Servl et 程序员通过编写一个对象缓存某些内容来实现缓存。 然而, 只要没有缓存标准, 许多程序员将反复的写相同的代码段.3. Model 2 主要的缺点是页面导航规则在控制器 servl et 中是硬编码的

    27、。 这意味 着程序流程的任何微小的改动就需要控制器 servl et 重新编译。 解决这个问题 的方法是在应用启动时, 提供一个映射器来读取页面导航规则。 在控制器 servl et 的 i ni t 方法中很容易添加代码。 这个方法只执行一次, 就是在 servl et 首次被载入内存的时候。 如果属性文件在每次改动后需要重新读取. 程序员可以在每次请求时检查属性文件的时间戳, 将它于先前读入的文件比 较. 如果它比之前读入的文件的时间戳更新,则重新构建映射器。 这个特性可 以在上下文对象的初始化参数中开启或者关闭。 从开发的角度来讲, 这个特性 应该开启。 在部署时, 这个特性应该关闭。

    28、使用属性文件来存储页面导航规则 还可能避免在控制器中的一连串的 i f 语句, 它将在每次请求时消耗时间。 可以 使用一个 HashMap, 将请求参数作为 Key 值, 将跳转页面作为 Val ue值。 这个 设计模型的另一个缺陷是缺少标准的输入验证组件和用户接口组件, 而这些将 在 JSF 中得到解决。4. JSF 解决了开发 Web 应用中的大部分问题, 比如: 页面导航管理、 用户接口组 件和输入验证组件。 然而, 由于这项技术仍然很年轻, 还没有太多的用户接口 可用, 强迫了程序员将 JSF 和非 JSF 的 servl ets/JSP 页面相结合。 JSF 是事 件驱动的, JSF

    29、 程序员通过编写事件监听来决定 JSF 应用的行为, 就像 Swi ng 应用中的监听器一样. 在JSF 版本中, 通常有两类事件能够被触发: Acti onEvent 和 Val ueChangedEvent, 但这已经能在应用和用户之间提供足 参考要跳交互性了。1 . Burbeck, S , Appl i cati ons Programmi ng i n Smal l tal k-80: How to use Model -Vi ew-2. Cecchet, E , Chanda A , El ni kety S , Margueri te J , Zwaenepoel W. : Pe

    30、rformanceCompari son of Mi ddl eware Archi tectures for Generati ng Dynami c Web Content.Proceedi ng of the 4th I nternati onal Mi ddel ware Conference, 2003.3. Cecchet, E. , Margueri te, J. , and ZwaenepoeL W. : Performance and Scal abi l i ty of EJBAppl i cati ons. Proceedi ngs of OOPSLA 02, 2002.

    31、4. Java Servl et and JavaServer Pages Speci fi cati on (JSR-053) ,5. Java Servl et Speci fi cati on (Proposed Fi nal Draft 3) ,1 0. Sun Mi crosystems, Compari ng Methods for Server-Si de Dynami c Content,1 3. Wu, A. , Wang, H. , and Wi l ki ns, D. : Performance Compari son of Al ternati ve Sol uti ons forWeb-To-Database Appl i cati ons. Proceedi ngs of the Southern Conference on Computi ng, the Uni versi ty ofSouthern Mi ssi ssi ppi , 2000.英文原文 A Comparati ve Study o


    注意事项

    本文(JAVA外文文献翻译.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开