`
dzq2008
  • 浏览: 92070 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

Struts1 原理、开发及项目实施

阅读更多

1、 摘要

本文主要讲述了 Struts (以 Struts1.0.2 为例)的工作原理,安装以及配置方面的问题。然后结合一个实例,详细讨论了 Struts 在实际开发过程中的应用,最后提供一些在开发过程中积累的经验,供大家参考。

2 、关键词

Struts MVC J2EE Tiles Framework

3 Framework

Framework 即架构(框架),这里指软件的架构方式,为什么要提 Framework 呢?请允许我从 J2EE 讲起。

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

       此步骤一般主要由架构设计师完成,设计师将根据项目需求,对 J2EE 体系中的各处技术进行筛选取舍,并考虑到开发过程中的角色分工、后期的运行维护,以及系统扩展性等诸多因素,建立系统的架构。

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

4 Struts 的起源

       Struts 最早是作为 Apache Jakarta 项目的组成部分问世运做。项目的创立者希望通过对该项目的研究,改进和提高 Java Server Pages (JSPs) Servlet 、标签库以及面向对象的技术水准。当前最高发行版本为 Struts1.0.2 ,可以到 http://jakata.apache.org/Struts 下载。

       Struts 这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了帮助你减少在运用 MVC 设计模型来开发 Web 应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用 Servlets JSP 的优点来建立可扩展的应用, Struts 是一个不错的选择。

5 Struts 工作原理

       MVC Model-View-Controller 的缩写,是一种常用的设计模式。 MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。

 

Struts MVC 的一种实现,它将 Servlet JSP 标记(属于 J2EE 规范)用作实现的一部分。 Struts 继承了 MVC 的各项特性,并根据 J2EE 的特点,做了相应的变化与扩展。

控制: 大家可以看到有一个 XML 文件 Struts-config.xml ,与之相关联的是 Controller ,在 Struts 中,承担 MVC Controller 角色的是一个 Servlet ,叫 ActionServlet ActionServlet 是一个通用的控制组件。这个控制组件提供了处理所有发送到 Struts HTTP 请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是 Action 类的子类)。另外控制组件也负责用相应的请求参数填充 Action From (通常称之为 FromBean , 并传给动作类(通常称之为 ActionBean )。动作类实现核心商业逻辑,它可以访问 java bean 或调用 EJB 。最后动作类把控制权传给后续的 JSP 文件,后者生成视图。所有这些控制逻辑利用 Struts-config.xml 文件来配置。

视图: 主要由 JSP 生成页面完成视图, Struts 提供丰富的 JSP 标签库: Html Bean Logic Template 等,这有利于分开表现逻辑和程序逻辑。

       模型: 模型以一个或多个 java bean 的形式存在。这些 bean 分为三类: Action Form Action JavaBean or EJB Action Form 通常称之为 FormBean ,封装了来自于 Client 的用户请求信息,如表单信息。 Action 通常称之为 ActionBean ,获取从 ActionSevlet 传来的 FormBean ,取出 FormBean 中的相关信息,并做出相关的处理,一般是调用 Java Bean EJB 等。

       流程: Struts 中,用户的请求一般以 *.do 作为请求服务名,所有的 *.do 请求均被指向 ActionSevlet ActionSevlet 根据 Struts-config.xml 中的配置信息,将用户请求封装成一个指定名称的 FormBean ,并将此 FormBean 传至指定名称的 ActionBean ,由 ActionBean 完成相应的业务操作,如文件操作,数据库操作等。每一个 *.do 均有对应的 FormBean 名称和 ActionBean 名称,这些在 Struts-config.xml 中配置。

       核心: Struts 的核心是 ActionSevlet ActionSevlet 的核心是 Struts-config.xml 。这在后面还会详细讨论。

6 Struts 安装

       Struts 的安装比较简单,下面的以 Tomcat 4.0.4 为例,讲述安装过程。

       首先请到 http://jakarta.apache.org/Struts 下载 Struts ,建议使用 release 版,现在最高版本为 1.0.2 ,下载后得到的是一个 ZIP 文件。

       ZIP 包解开,可以看到这个目录: lib webapps webapps 下有一些 WAR 文件。

       假设你的 Tomcat 装在 c:\Tomcat 下,则将那些 WAR 文件拷贝到 C:\Tomcat\webapps ,重新启动 Tomcat 即可。

       打开浏览器,在地址栏中输入: http://localhost:8080/Struts-example/index.jsp ,若能见到“ powered by Struts ”的深蓝色图标,即说明成功了。这是 Struts 自带的一个例子,附有详细的说明文档,可以做为初学者的入门教程。

       另外, Struts 还提供了一系统实用对象: XML 处理、通过 Java reflection APIs 自动处理 JavaBeans 属性、国际化的提示和消息等。



 

 
 
 

  • 大小: 3.9 KB
  • 大小: 5.8 KB
分享到:
评论

相关推荐

    Struts原理、开发及项目实施

    ### Struts原理、开发及项目实施深度解析 #### 一、引言 Struts作为一款基于Java的开源框架,自其在Apache Jakarta项目中诞生以来,便迅速成为了J2EE应用开发领域的重要工具之一。本文旨在深入探讨Struts的工作...

    STRUTS原理、开发及项目实施.rar_java struts_struts_实施

    本资源“STRUTS原理、开发及项目实施.rar”旨在深入讲解Struts的工作原理、开发流程以及实际项目中的实施策略。 **Struts框架核心概念** 1. **Model(模型)**:负责业务逻辑处理,通常由Java Beans或EJBs组成,...

    Struts原理、开发及项目实施.doc

    总之,《Struts原理、开发及项目实施》文档详细介绍了Struts框架的起源、工作原理、配置和在实际项目中的应用,为开发者提供了全面了解和使用Struts的指南。通过学习和实践,开发者可以有效地利用Struts来构建高效、...

    STRUTS中文文档

    STRUTS中文文档,内容比较丰富 struts安装 Struts原理、开发及项目实施 Struts中的应用 Struts中的翻页实例 strtus整体架构及核心标签库的介 struts框架详细介绍 Struts的体系结构

    Struts应用开发完全手册源代码

    Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java EE的Web应用程序。《Struts应用开发完全手册》是一本深入讲解Struts框架的书籍,它为开发者提供了全面的指导,帮助他们掌握如何利用...

    struts中文文档.rar

    这个“struts中文文档.rar”压缩包包含了关于Struts框架的多个资源,如“struts的结构.doc”、“struts框架详细介绍.ppt”以及“Struts原理、开发及项目实施.doc”,这些文档将帮助我们深入理解Struts的核心概念、...

    Struts项目(图书管理系统)

    通过这个Struts图书管理系统项目,开发者可以深入理解Struts框架的工作原理,掌握MVC模式的应用,同时提高数据库操作和Web应用开发的能力。此外,还可以学习到如何组织项目结构、进行数据验证、处理用户请求和响应,...

    struts2开发.包

    Struts2是一个流行的Java web开发框架,用于构建高效、可扩展的企业级应用程序。它基于Model-View-Controller(MVC)设计模式,旨在简化开发流程并提高代码的可维护性。Struts2提供了丰富的功能,如拦截器、插件体系...

    STRUTS中文文档.rar

    "48_3127.doc"和"Struts原理、开发及项目实施.doc"可能涵盖了Struts的实现原理,例如请求处理流程、ActionServlet的生命周期、拦截器(Interceptor)的工作方式,以及如何在实际项目中应用Struts进行开发和部署。...

    struts2+cas单点登陆例子

    1. **配置CAS客户端库**:首先,你需要在项目中引入CAS的Java客户端库,如`cas-client-support-struts2`,这个库提供了与Struts2框架集成的适配器。 2. **配置web.xml**:在项目的`web.xml`文件中,我们需要配置CAS...

    Struts模式培训资料 通过经典的实例 全面讲述Struts的开发运用

    总之,Struts通过提供一套完善的框架,实现了MVC模式在Web应用中的有效实施,其模块化设计、配置文件支持以及丰富的标签库都极大地优化了开发流程。掌握Struts,不仅可以提升开发效率,也有助于理解Web应用的设计...

    精通struts.基于MVC的.java.web设计与开发1

    本部分将深入讲解Struts框架的核心概念、工作原理以及如何在实际项目中应用。 1. **Struts框架概述** Struts是一个开源框架,它基于MVC模式,旨在提高开发效率,提供可重用的组件,并且易于测试。通过分离业务逻辑...

    Struts源码及帮助

    Struts 1.2.9是该框架的一个较旧版本,但仍然被许多项目所使用,因此了解其源码和帮助文档对于深入理解Struts的工作原理和解决相关问题至关重要。 首先,让我们深入探讨Struts框架的核心概念: 1. **ActionServlet...

    struts帮助文档doc-txt-ppt文档(个人总结,绝对一手好资料).rar

    4. **Struts原理、开发及项目实施.doc**:这部分内容深入到Struts的工作原理,可能涉及请求生命周期、请求与响应的处理、以及在实际项目中如何部署和实施Struts。还会讨论最佳实践,如如何优化性能,以及如何处理...

Global site tag (gtag.js) - Google Analytics