`
xpp02
  • 浏览: 1016309 次
社区版块
存档分类
最新评论

Struts框架学习方法的分享

阅读更多

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

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

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

  MVC:它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC享有“全球第一设计模式”的美誉,是当前很流行的一种设计理念和思想,你要学好Struts,必要要让这种思想深入骨髓。

  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里面配置,开始使用Struts自带的标签,等。这个里面涉及的知识点都很多,需要大家耐心细致地学习。大家在跑这个应用的时候会发现各种各样的异常和问题。不要害怕,这些错误都是我们的好朋友,我们要把它们通通都记录下来,并坚韧地排除掉它们。这里要记住:尽量避免重复犯错,不要在同一个地方跌倒两次。

再接着,你把上面的都基本消化了,但是总隐隐觉得不够系统和完整,你就开始做几个CRUD的应用,完成普通的增删查改的工作。在做这些应用的过程中,你要认真总结核心配置文件Struts-config.xml里面的8个重要节点元素的配置以及它们的顺序,每个节点的重要属性,特别是里的子节点的属性是重中之重,一定要好好理解并灵活运用。

  你也要开始系统地学习Struts里面的标签。但这个时候千万不要追求大而全,只学习几种常用的标签就可以了,重点放在html,bean,还有logic标签上。这时候还有些小知识点你也许要用到,譬如:文件上传控件,防止信息重复提交 ,自定义标签,cookie的使用等等。这就是个相对比较耗时间和精力的阶段了,你要做的就是不断地参考,不断地思考,不断地总结,最好还能和志同道合的人不断地争论。

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

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

更多信息请查看 java进阶网 http://www.javady.com

1
2
分享到:
评论

相关推荐

    struts2学习笔记(完美总结)——转自OPEN经验库

    struts2学习笔记,非本人所写,但有学习的价值,总结的很好,分享一个!

    Struts2超详细学习笔记分享(献给自学新人)

    本文档记录了Struts2初学中的所有要点笔记,非常详尽的知识点说明并附加了学习者对知识的理解过程,是新人学习Struts2框架的必备参考典范。

    集成Spring、hibernate、struts框架开发轻量级J2EE应用

    集成Spring、hibernate、struts框架开发轻量级J2EE应用,大家一块学习,好东西就要和大家分享,谁让俺们都是中国人呢?

    Struts2.3.24.1

    学着制作了一个struts2的chm文档,觉得挺好玩的,分享给爱学习的童鞋,也留在csdn做个备份。

    struts2 校验框架

    个人学习过程中 关于校验框架 的总结 希望跟大家分享下

    学习struts2 sping3.2 hibernate4 框架集成写的一个friend management demo

    学习struts2_sping3.2_hibernate4框架集成写的一个friend management demo 分享下!

    struts2.0中文教程.chm

    struts2.0中文教程,java框架学习,与大家一起分享

    Java Web开发Struts例子

    该例子是java web开发程序是基于struts框架编写的,分享该程序一起学习和进步。。。。。。。

    Struts2入门教程

    Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。 Struts2的使用人群逐渐增多,它在逐步吸引开发者和用户的...

    Struts 2.3.1.2_zh_CN

    这是一个Struts 2.3.1.2中文的帮助文档,是Java的Struts2框架学习和开发的必备工具.

    简单的struts2和hibernate框架注册逻辑 SimpleStruts2Hibernate.rar

    简单的struts2和hibernate框架注册逻辑 源码描述: 一、源码介绍 整合struts2和hibernate框架,实现简单的注册逻辑,会判断新注册用户的账户是否存在,存在不允许注册。 二、注意事项 1、开发环境为Visual Studio...

    Struts2SpringHibernate整合,一个HelloWorld版的在线书店(项目源码+详尽注释+单元测试)

    Struts2,Spring,Hibernate是Java Web开发中最为常见的3种框架,掌握这3种框架是每个Java Web开发人员的基本功。 然而,很多初学者在集成这3个框架的时候,总是会遇到各种各样的问题。 我在读大学刚刚学习SSH的...

    Struts2JQueryJson

    学习时做的一个struts2框架下前台页面获取后台json格式的数据,list,map等。页面包含多级联动页面,登陆验证页面,获取后台map,list格式的json格式数据的页面。分享给大家学习。

    Struts2权威指南

    本书覆盖了Struts 2.1近80%的API。因此,本书完全可以作为Struts 2框架的权威手册,以供开发者在实际开发过程中参考。

    SSH框架搭建

    主要适合框架学习。 最新整合的Struts2.3.15,Hibernate4.2.2,Spring3.2.2,结合网上的分散资源,自己整合,使用的是eclipse,并且整合了连接池c3p0,配置文件附带详细注释,分享一下,后期将持续更新,整合Spring4。

    java_jsp项目源码_博客系统(struts+hibernate+spring).rar

    本项目是一个基于Struts、Hibernate和Spring框架的Java JSP博客系统,旨在提供一个功能完善、易于扩展和定制的网络日志发布平台。项目实现了用户注册、登录、文章发布、评论、分类管理、标签管理、搜索、分页浏览等...

    药店销售管理系统,内配带需求分析

    项目团队运用struts框架做的药店销售管理系统,带有详细的需求分析,分享给大家,数据库是SQLserver。给初学struts的学者学习

    SSH框架与AJAX技术的Java_Web应用开发(4页,pdf书籍)不是代码

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》:资深程序员全力打造,深入剖析SSH框架整合开发的精髓 全方位解读Java Web开发的基础知识、高级技术及应用案例 内容全面,讲解详细,全面覆盖...

    SSH2项目整合源码

    现在用SSH2框架的也不算少,对于学习java的新手来说,这些东西还是必须要掌握的,框架的东西有很多要学的,之前自己刚开始学习框架的时候懵,但是慢慢的琢磨就能弄明白了,这里给大家分享一个最简单的Spring+Struts2...

    三大框架整合

    Struts2+Spring+Hibernate开发整合过程,分享给大家,希望对大家的学习有帮助。

Global site tag (gtag.js) - Google Analytics