### Struts in Action 《Struts in Action》是一本详细介绍Struts框架的书籍,适合希望深入了解Struts并将其应用于实际项目中的开发人员阅读。本书由Ted Husted编写,Eric Liu(铁手)翻译成中文版。 #### 关于本书 本书不仅涵盖了Struts的基本概念和使用方法,还提供了丰富的示例来帮助读者理解Struts的工作原理及其在实际项目中的应用。通过本书的学习,读者可以掌握如何使用Struts构建高效、可维护的Web应用程序。 ##### 谁创建了Struts? Struts是由James Duncan Davidson最初开发的一个开放源代码项目。Davidson是一位Apache Software Foundation的成员,在2000年左右开始了这个项目。随着项目的不断发展,Struts逐渐成为了一个成熟的框架,并被广泛应用于各种规模的Web应用程序开发中。 ##### 为什么Struts要开源? Struts之所以选择开源,主要是为了促进社区的贡献和技术的共享。作为一个开放源代码项目,任何人都可以参与其中,提出改进建议或提交代码。这种开放的方式使得Struts能够快速地吸收来自世界各地开发者的新想法和技术改进,从而不断进化和完善。 ##### 为什么叫Struts? “Struts”这个名字来源于建筑学中的“strut”,它指的是支撑结构的一部分。在软件工程领域,“strut”可以比喻为支持整个应用程序结构的框架或组件。因此,Struts框架就像建筑物中的支柱一样,为Web应用程序提供了一种强大的支撑结构。 #### 落到实处 在《Struts in Action》这本书中,作者详细介绍了Struts框架的核心概念和关键组件,并通过一系列实例展示了如何将这些理论应用到实际项目中。读者可以通过跟随书中的步骤,亲手构建一个完整的Web应用程序,从而更深刻地理解Struts的工作机制。 #### 再看看 本书不仅适合初学者入门,也适合已经有一定经验的开发人员进一步提高。书中包含了大量实用的技术细节和最佳实践建议,可以帮助读者在开发过程中避免常见的陷阱和误区。 ### 深入Struts架构 #### 为什么我们需要Struts 在Web开发中,随着项目规模的增长,传统的Servlet/JSP开发方式往往难以管理和扩展。Struts的出现解决了这些问题,它提供了一种基于MVC(Model-View-Controller)设计模式的框架,帮助开发者更好地组织代码,提高代码的可维护性和可重用性。 #### 为什么需要框架 随着Web应用复杂度的增加,传统的开发方式已经无法满足需求。开发者需要一种更加灵活且易于扩展的方法来构建Web应用程序。框架正是在这种背景下应运而生。 - **Web—永无休止的修补**:在没有框架的情况下,开发者常常需要不断地对代码进行修改以适应新的需求变化,这导致了代码的混乱和难以维护。 - **Servlet解决方案**:Servlet是一种服务器端技术,用于处理客户端请求并返回响应。然而,当应用程序变得越来越复杂时,仅使用Servlet很难管理。 - **Servlet框架**:为了解决这个问题,开发者开始使用Servlet框架来帮助组织代码。 - **黑盒-白盒统一体**:框架提供了一种“黑盒”的方式来处理复杂的业务逻辑,同时允许开发者以“白盒”的方式深入了解内部工作原理。 #### Struts, Model2, 以及MVC - **MVC的演化**:MVC模式最早由Trygve Reenskaug在1979年提出,用于改善用户界面的开发。随着时间的发展,MVC模式被广泛应用于Web应用程序中。 - **Model2的出现**:在Web开发领域,Model2是一种基于MVC的设计模式,其中模型与视图之间通过控制器进行交互。Struts正是基于Model2模式构建的。 - **应用层—视图之间的去耦合**:Struts通过引入Action类作为控制器,实现了业务逻辑与视图之间的分离,提高了代码的可维护性。 - **Struts如何实现Model2, MVC, 和分层**:Struts通过一系列精心设计的组件,如Action、Form Bean、Taglib等,实现了MVC模式下的分层架构。 #### Struts控制流 - **总图**:Struts的应用程序控制流遵循一个清晰的模式:用户请求→ActionServlet→Action→视图。 - **出色的细节**:Struts提供了一系列内置的标签库,可以帮助开发者更容易地操作表单数据、执行条件判断等。 - **Struts是富有效率的吗?**:通过合理的设计和配置,Struts确实可以提高Web应用程序的开发效率。 #### Struts的长处和弱点 - **弱点**:尽管Struts非常强大,但它也有自己的局限性。例如,它可能会导致项目过于复杂,特别是在处理大型应用程序时。 - **Struts的强项**:Struts最大的优势在于其清晰的架构和强大的功能集,可以极大地提高开发效率。 ### 构建一个简单应用 #### 被支柱支撑的支柱 本书通过构建一个简单的登录应用来展示Struts框架的实际应用。这个示例涵盖了从需求分析到最终部署的整个过程,让读者能够亲身体验到使用Struts开发Web应用的全过程。 #### 漫游logon应用 - **从这里开始**:从需求分析开始,确定应用的目标用户和功能需求。 - **我们看到的屏幕**:根据需求分析结果,设计应用的用户界面。 - **欢迎屏幕**:介绍应用的欢迎页面设计及实现。 - **登录屏幕**:详细讲解登录页面的设计与实现。 - **所使用的特征**:列出应用中使用的Struts特性。 #### 解剖logon应用 - **欢迎屏幕的浏览器代码**:展示了欢迎页面的HTML代码。 - **欢迎页面的JSP源代码**:提供了欢迎页面的JSP实现。 - **Welcome屏幕的配置源代码**:介绍了如何在Struts配置文件中配置欢迎页面。 - **logon屏幕的浏览器代码**:展示了登录页面的HTML代码。 - **logon的配置源代码**:详细说明了登录页面的配置。 - **LogonSubmit配置**:介绍了如何配置提交登录表单的操作。 - **LogonForm源代码**:提供了登录表单的数据验证类的实现。 - **LogonAction源代码**:展示了处理登录请求的Action类的实现。 - **LogoffAction源代码**:介绍了处理登出请求的Action类。 #### 构造应用 - **定义需求**:首先明确应用的功能需求。 - **规划应用**:基于需求制定应用的整体架构和设计方案。 - **规划源代码树**:组织应用的文件结构。 - **设置开发工具**:配置必要的开发环境和工具。 - **设置build.xml文件**:定义构建过程的配置。 - **设置web.xml文件**:配置Web应用的部署描述符。 - **设置struts-config.xml文件**:配置Struts框架的行为。 - **测试部署情况**:确保应用能够正确部署和运行。 - **构造欢迎页面**:实现应用的欢迎页面。 - **构造logon页面**:开发登录页面。 - **构造Constants类**:定义应用中常用的常量。 - **构造其他类**:实现其他辅助类。 - **创建userdirectory**:建立用户数据库。 - **配置ActionErrors**:处理错误消息。 - **编译并测试logon页面**:确保登录功能正常工作。 - **修改welcome页面**:根据需要调整欢迎页面的设计。 - **StrutsForwardActionAction**:介绍了如何使用Struts的ForwardAction。 ### 小结 通过以上内容,可以看出《Struts in Action》这本书不仅提供了理论上的指导,还包含了丰富的实践案例。无论是对于初学者还是有经验的开发者来说,都是一个非常宝贵的资源。通过本书的学习,读者不仅可以了解Struts框架的基础知识,还能学会如何利用它来构建高质量的Web应用程序。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享mp1482非常好的技术资料.zip
- 技术资料分享MAX811T非常好的技术资料.zip
- 技术资料分享KXTE9-2050 Specifications Rev 3非常好的技术资料.zip
- 技术资料分享K9F2G08非常好的技术资料.zip
- 技术资料分享K4T1G164QE非常好的技术资料.zip
- 技术资料分享HLY070ML226-12A非常好的技术资料.zip
- 技术资料分享FT5x06-1005-DataSheet非常好的技术资料.zip
- 技术资料分享FORESEE 4GB eMMC Spec A4-120210非常好的技术资料.zip
- 技术资料分享FE2.1-Data-Sheet-(Rev.-1.01)非常好的技术资料.zip
- 1_江苏一男大学生脚踏两只船 ,.jpg.zip