思诚科技 seecen LOGO
咨询热线:0791-87557233
 您现在的位置:  首页 > Java框架 

Struts框架技术在J2EE中的研究和应用

来源:网络    更新时间:2014-12-2


摘要简要介绍了J2EE技术及其应用程序架构的发展,论述了Struts框架的基本设计思想,分析了Struts框架开发系统的优点,并结合具体项目实现了Struts框架技术的应用。

  关键词J2EE;MVC;Struts;框架

  J2EE简介

  J2EE是一个开放的、基于标准的平台,可以开发、部署和管理N层结构的、面向Web的、以服务器为中心的企业级应用,它是利用Java2平台来简化与多级企业解决方案的开发、部署和管理相关的诸多复杂问题的应用体系结构。

  J2EE平台采用一个多层次分布式的应用模式。这意味着应用逻辑根据功能被划分成组件,组成J2EE应用的不同应用组件安装在不同的服务器上,这种划分是根据应用组件属于多层次J2EE环境中的哪一个层次来决定的。如图1所示,J2EE应用可以由三或四个层次组成,J2EE多层次应用一般被认为是三层应用,因为它们是被分布在三个不同的地点:客户端机器、J2EE服务器和数据库或后端的传统系统服务器。三层架构应用是对标准的客户端/服务器应用架构的一种扩展,即在客户端应用和后台存储之间增加一个多线程应用服务器。


  J2EE体系包括JSP、Servlet、EJB、WebService等多项技术。这些技术的出现给电子商务时代的WEB应用开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来,形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。

  一个成功的软件需要有一个成功的架构,但软件架构的建立是一个复杂而又持续改进的过程,软件开发者们不可能对每个不同的项目做不同的架构,而总是尽量重用以前的架构,或开发出尽量通用的架构方案,Struts就是流行的基于J2EE的架构方案之一,其他常用的基于J2EE的架构方案还有Turbine、RealMothods等。本文主要探讨Struts框架技术的应用。

  J2EE应用程序架构的发展

  在J2EE应用程序架构的发展路程中,主要经历了两个大的阶段:

  1、Model1

  在JSP页面中结合业务逻辑、服务器端处理程序和HTML,在JSP页面中同时实现显示、业务逻辑和流程控制,从而快速的完成Web应用开发。这种模型的不足之处:1)不利于应用扩展和更新。2)业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离,不利于应用系统业务的重用和改动。

  2、Model2

  表示的是基于MVC模式的框架。根据Model2,servlet处理数据存取和导航流,JSP处理表现。Model2使Java工程师和HTML设计者分别工作于它们所擅长和负责的部分。Model2应用的一部分发生改变并不强求其他部分也跟着发生改变。HTML开发人员可以改变程序的外观和感觉,并不需要改变后端servlet的工作方式。把应用逻辑、处理过程和显示逻辑分成不同的组件实现。弥补了Model1的不足。

  Struts框架技术

  Struts框架就是基于Model2的架构,也就是基于MVC模式的框架技术。它是一个免费的开源的WEB层的应用框架,具有很高的可配置性,和有一个不断增长的特性列表。一个前端控制组件,一系列动作类,动作映射,处理XML的实用工具类,服务器端javabean的自动填充,支持验证的WEB表单,国际化支持,生成HTML,实现表现逻辑和模板组成了struts的灵魂。图2显示了Struts组件是如何一起工作的。


  Struts的ActionServlet控制导航流。其他Struts类,比如Action,用来访问业务逻辑类。当ActionServlet从容器接收到一个请求,它使用URI(或者路径“path”)来决定哪个Action将用来处理请求。一个Action可以校验输入,并且访问业务层以从数据库或其他数据服务中检索信息。

  为校验输入或者使用输入来更新数据库,Action需要知道什么被提交上来。并不是强制每个Action从请求中抓取这些值,而是由ActionServlet将输入绑定到JavaBean中。输入bean是StrutsActionFormc类的子类。ActionServlet通过查找请求的路径可以决定使用哪个ActionForm,Action也是通过同样的方法选取的。每个Action都必须以HTTP响应进行应答。通常,StrutsAction并不自行加工响应信息,而是将请求转发到其他资源,比如JSP页面。Struts提供一个ActionForward类,用来将一个页面的路径存储为逻辑名称。当完成业务逻辑后,Action选择并向Servlet返回一个ActionForward。Servlet然后使用存储在ActionForward对象中的路径来调用页面完成响应。

  • 上一篇文章:

  • 下一篇文章:
  •  

    0791-87557233

    重视每个来电 珍惜您的时间
    思诚者开发沙龙
    江西思诚科技有限公司  赣ICP备17006097号  CopyRight©2014 - 2020