`
backbase
  • 浏览: 91481 次
  • 性别: Icon_minigender_1
  • 来自: 虾汤水库
社区版块
存档分类
最新评论

如何学习struts框架?

阅读更多
转载来自http://blog.csdn.net/lenotang/ 这位前辈的博客文章!


由于STRUTS框架在全球的广泛使用,学习它的人也非常之多,但是大部分人花费了太多不必要的时间和精力在一些不太重要的地方,导致学习代价高昂,成效也不是很好。我这里根据多年培训经验的总结,精心设计了一套学习STRUTS框架的曲线,让大伙学习STRUTS框架既快且准,节省大伙宝贵的时间,一定会对各位学习者大有帮助。



大家知道,STRUTS是Apache 基金会Jakarta 项目组的一个开源项目,它采用MVC设计模式,是一个基于Sun J2EE平台的WEB表现层框架。这里有几个概念值得大家关注:开源,MVC,J2EE,WEB表现层,框架。我来逐一解释。



开源:不用多说,源代码可以让你一行一行仔细分析,深入了解其内部实现机制。



MVC:它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC享有“全球第一设计模式”的美誉,是当前很流行的一种设计理念和思想,你要学好STRUTS,必要要让这种思想深入骨髓。(我在另一篇文章中对MVC进行过阐述,关于MVC的流程及例子请参阅拙作:http://blog.csdn.net/lenotang/archive/2008/06/18/2562348.aspx)



J2EE:J2EE是使用Java技术开发企业级应用的一种事实上的工业标准。J2EE将组成一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service/API。其中最常用的容器就是WEB容器(就是我们常说的WEB服务器),里面最核心的两个组件就是JSP和SERVLET。而STRUTS就是基于这两种技术,依赖于WEB容器。



WEB表现层:我们常说的J2EE四层体系架构:WEB表现层,业务逻辑层,持久层,数据库层。这是一种逻辑划分。WEB表现层的特点就是依靠WEB服务器,直接跟客户端(一般是WEB浏览器)打交道。STRUTS处于WEB表现层,主要就是接受并处理用户请求,并将处理结果响应给用户。



框架:通俗地讲,框架就是一个“半成品”,它做了一些通用的东西让你去配置和扩展。框架的强大之处不是说它能让你做什么,而是它不能让你做什么!它使混乱的东西变得结构化。我们来打个比方。框架就像是一间有很多屋梁的房子,当你需要扩建房子的时候,譬如增加新的房间、窗户和过道或者在卧室增加一个壁炉,由于屋梁的限制,你并没有什么其他的选择。虽然较少的屋梁会让你有更多的选择,但是当台风来袭或者发生地震的时候,你让家人住在这样一间只有屋顶的房子里,恐怕不会觉得安全吧。总之,框架是在结构和创造力之间的一个精确的天平。



好了。这里假设大家已经理解了上述概念,并会用JSP/SERVLET做一些普通的WEB应用程序。现在就让我们来看看如何学习STRUTS框架吧。这里我以STRUTS 1.2版本为例。(STRUTS 2.0的实现跟以前的版本有很大不同,我以后会讲到。)让我们出发吧!



       首先,你要照书本或者网上的例子跑一个最简单的STRUTS应用,就是在客户端显示一个HELLOWORLD的那种,这叫先睹为快。在这里你开始接触到做STRUTS应用需要的东西:STRUTS的JAR包,核心控制器ActionServlet在web.xml上的配置,针对具体用户请求URL的Action的编写以及STRUTS应用的核心配置文件struts-config.xml。做完后停下来思考一下。



       然后,你开始跑一个稍微大点的用户登陆的应用,成功就跳转到我们的主页面,失败就继续回到登陆页面。我们引入ActionForm组件和对后台数据库的操作。这个时候MVC发挥作用了。ActionServlet和自己编写的Action分别充当前,后端控制器组件,DAO/DTO充当了模型组件,JSP充当视图组件。struts-config.xml也变的饱满起来,上面开始多了些配置datasources,form-beans,action-mappings。做完后到网上找一些好的参考资料或者利用自己经典的STRUTS的案头书(最好是有图解),开始认真琢磨STRUTS的运行原理和执行流程,特别要好生体会ActionForm组件的作用和struts-config.xml这个核心配置文件每一处用到的配置。这个时候,你应该开始有些领悟:我们自己写的Action还有ActionForm类一定要继承框架已有的Action和ActionForm,写完了之后还必须得将它们配置到struts-config.xml中去。



       接着,你已经对STRUTS框架有了大致的了解,可能开始对STRUTS的其他主题感兴趣了,OK,现在扩充你的登陆应用吧。先加上验证,不然你的系统会不堪一击。验证分为客户端验证和服务器端验证。服务器端的验证我们可以在ActionForm里面的validate()方法里做,也可以在随后的Action类的execute()方法里做,甚至可以使用验证框架。这里大家要把重点方在验证框架的学习上。做好后再加上资源国际化I18N,针对不同区域不同语言的客户提供不同语言版本的页面显示。我们开始写资源属性文件,开始在struts-config.xml里面配置<messages-resource>,开始使用STRUTS自带的标签<html:errors/>,<bean:message/>等。这个里面涉及的知识点都很多,需要大家耐心细致地学习。大家在跑这个应用的时候会发现各种各样的异常和问题。不要害怕,这些错误都是我们的好朋友,我们要把它们通通都记录下来,并坚韧地排除掉它们。这里要记住:尽量避免重复犯错,不要在同一个地方跌倒两次。

做完后,认真总结和思考。



       再接着,你把上面的都基本消化了,但是总隐隐觉得不够系统和完整,你就开始做几个CRUD的应用,完成普通的增删查改的工作。在做这些应用的过程中,你要认真总结核心配置文件struts-config.xml里面的8个重要节点元素的配置以及它们的顺序,每个节点的重要属性,特别是<action-mappings>里的<action>子节点的属性是重中之重,一定要好好理解并灵活运用。你也要开始系统地学习STRUTS里面的标签。但这个时候千万不要追求大而全,只学习几种常用的标签就可以了,重点放在html,bean,还有logic标签上。这时候还有些小知识点你也许要用到,譬如:文件上传控件,防止信息重复提交 ,自定义标签,cookie的使用等等。这就是个相对比较耗时间和精力的阶段了,你要做的就是不断地参考,不断地思考,不断地总结,最好还能和志同道合的人不断地争论。



       慢慢地,你对STURTS框架有了一个全局性的宏观把握,用它来完成一些小模块的开发已经没有太大问题,你已经开始志得意满了:STRUTS不过如此嘛!如果你到了这一步,我首先要恭喜你,你接近成功了。但我也要小心地提醒你:STRUTS里面还有很多东西值得挖掘!你不妨多问一下自己,软件有一个人开发的吗?页面我使用了良好的布局吗?页面导航都是那么简单吗?我的所有做法就不能有更简单的实现了吗?我对STRUTS框架的好处了如指掌了吗?好的,如果你想通了,带着这些问题,你就会重新披挂上阵,开始学习STRUTS的多模块开发,开始学习tiles框架,开始认真研读STRUTS的源代码,开始学习一些更简单有效的Action组件类和ActionForm组件类……,真应了一句古语:吾生也有涯,知也无涯!最后呢,大家可能会悟出一些道理:譬如STRUTS框架基本的好处就是用配置代替编码,它是一个半成品,是让我们扩展和配置的等等。

     

     

上面我粗略地勾勒了一下学习STRUTS的曲线。归纳一下:学习框架需要循序渐进,实例驱动,思考总结。实际上,我在做培训的过程中发现,如果我们在学习STRUTS之前,自己动手写过一个简易的MVC框架,学习STRUTS将会非常轻松,大概只需要五天的时间,而且可以学的非常好。大家不要认为框架就是很庞大很复杂的怪兽,自己绝对无法写出来。其实,无非就是将我们所理解的朴素思想用代码实现出来罢了。好了,时间关系,今天就写到这里,祝愿大家学的开心!

分享到:
评论

相关推荐

    Struts框架的学习

    学习Struts框架不仅能够帮助开发者理解Web应用程序的架构设计,还能提升开发效率,尤其在大型项目中,利用框架的优势可以显著减少重复劳动,提高代码质量。同时,理解Struts的工作原理也有助于进一步掌握其他MVC框架...

    Struts框架学习大全

    Struts框架学习大全,包括《Struts架构指导》、《Struts快速学习指南》、《Struts中文手册》、《精通Struts技术》、《Struts 1.1 API》、《Struts 2.0 API》、《Struts 2.0入门》和《struts 2.0中文帮助手册》。

    JAVA Struts 框架 代码示例

    学习Struts框架,首先需要了解MVC模式的基本概念,然后深入研究struts-config.xml配置文件的结构和用途。接着,通过编写Action类和ActionForm类,实践处理HTTP请求和业务逻辑。同时,要掌握JSP标签的使用,如何创建...

    基于MVC模式Struts框架

    通过本篇文章的学习,我们不仅了解了Struts框架的基本原理,还通过具体的案例深入了解了如何利用Struts框架快速构建高质量的Web应用程序。对于初学者而言,掌握Struts框架不仅可以提高开发效率,还能为今后的软件...

    Struts框架应用于jsp中

    标签“Struts的学习”意味着我们要深入理解Struts框架的各个方面,包括但不限于: 1. **配置文件**:struts-config.xml或struts2-config.xml,定义Action类、ActionMapping以及结果页面的映射。 2. **Action类**:...

    Struts框架分析与应用.pdf

    - **学习曲线陡峭**:Struts框架的学习门槛相对较高,尤其是对于初学者来说。Taglib等高级特性虽然可以提高开发效率,但掌握它们需要时间和经验。 - **增加了系统的复杂度**:在某些场景下,特别是在较小的Web应用...

    如何学习struts框架

    教你怎样学习struts框架

    基于struts框架的学生管理系统

    本项目“基于Struts框架的学生管理系统”是学习JSP与Struts结合运用的绝佳实例,它将帮助开发者深入理解Struts框架的工作原理和流程。 首先,我们需要了解Struts框架的核心概念。Struts框架主要由Action、...

    struts框架

    首先,要学习Struts2框架,第一步是下载并安装Struts2框架。可以通过访问Struts的官方站点(***)下载所需版本的压缩包。解压后的文件结构包含了示例程序、相关文档、核心类库等,这些资源对开发者来说都是必需的。 ...

    仿struts框架的自制代码

    Struts框架是一款经典的Java Web开发框架,由Apache软件基金会维护,它基于Model-View-Controller(MVC)设计模式,极大地简化了Java Web应用程序的开发。在这个“仿struts框架的自制代码”中,我们可以看到作者尝试...

    重构mvc实现struts框架

    **标题解析:** "重构mvc实现struts框架" 这个标题表明了我们要探讨的主题是关于软件开发中的重构过程...通过这样的学习过程,开发者不仅可以深化对MVC模式的理解,还能掌握Struts框架的使用,提升Web应用开发的能力。

    Struts框架(Struts框架详细介绍)

    Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它由Apache软件基金会开发并维护。Struts框架旨在提供一种结构化的、可维护性高的开发方式,帮助开发者构建动态的、数据驱动的...

    struts框架的最简单应用,懂的就不用下了

    Struts框架是Java Web开发中的一个关键工具,它基于Model-View-Controller(MVC)设计模式,旨在简化Web应用程序的构建。这个压缩包可能是为了帮助初学者理解并开始使用Struts框架的基础知识。 首先,Struts框架的...

    一个运用了struts框架的学生请假系统

    Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它主要用来...通过解压并分析"leave.sql"和"leave"文件,可以深入理解其内部结构和工作原理,进一步学习和研究Struts框架的运用。

    struts2框架学习笔记整理

    ### Struts2框架学习笔记整理 #### 一、Struts2框架概述 ##### 1.1 Struts2框架定义 Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的...

    Struts2框架源码

    Struts2框架是Java Web开发中的一个流行框架,它...总之,这个压缩包提供了一个实践和学习Struts2框架的宝贵资源。通过研究源码,不仅可以提升对Struts2的理解,还能帮助你在实际项目中更有效地应用和优化这一框架。

    Java Struts框架示例项目

    这个"Java Struts框架示例项目"是一个非常适合新手入门的学习资源,通过实践来理解Struts2的核心概念和工作原理。 首先,让我们从基本概念开始。Struts2是基于拦截器的框架,它的核心设计模式是Front Controller,...

    Struts框架的三个项目实例

    Struts框架是Java Web开发中的一个关键组件,它基于MVC(Model-View-Controller)设计模式,旨在简化Web应用程序的构建。这个压缩包包含了三个使用Struts2框架实现的项目实例:租房管理、宠物管理和学生管理。这些...

    基于Struts框架的网上书店毕业论文

    Struts框架是Java Web开发中的一种经典MVC(Model-View-Controller)框架,由Apache软件基金会维护。这篇“基于Struts框架的网上书店毕业论文”可能深入探讨了如何使用Struts来构建一个完整的在线图书销售系统。以下...

    Struts2.0框架书籍

    读者可以通过这个文件深入学习Struts2.0的各个知识点,按照章节逐步学习,或者根据需要查找特定问题的解决方案。 总的来说,这本书对于想要学习或提升Struts2.0框架技能的开发者来说,是一份宝贵的资源。通过系统的...

Global site tag (gtag.js) - Google Analytics