通过比较来学习Struts和Struts2.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通过比较来学习Struts和Struts2 Author:Ivan Date:2008.11.16 不管怎样也是我幸苦敲出来的,署个名。^-^ 有错误欢迎指正。 1.从Hello World程序开始比较Struts和Struts2 程序流程: 从login.jsp页面开始,输入用户名和密码,如果输入正确就打印欢迎,如果错误则返回login.jsp页面. (1)对于struts和struts2一样,首先建立login.jsp页面,这里使用基本的html标签。 Struts的login.jsp页面 Struts2的login.jsp页面 这里的区别很小,就是action后缀不同,这个是可以改的,所以可以认为这两个页面没有区别。 而对于成功后的跳转页面success.jsp就一点区别都没有了,因为就打印一句,welcome! (2)对于Struts来说,每个页面就需要一个ActionForm(可以用struts提供的LazyDynaBean简化FormBean,所有页面都使用一个FormBean,后面再说),所以写一个FormBean,FormBean的作用是作为数据从页面传输数据的载体,和hibernate里的Bean是一样的作用。FormBean需要继承ActionForm,样子像这样。 可以看出,此类其实就是个Pojo,但是还要继承ActionForm,这里就很累赘了。 所以struts2不需要继承,直接写Pojo就行了。并且Struts2不需要再写Action类了,它只要在Pojo里添加一个execute方法就可以了。(相当于是把ActionForm和Action集成了) 可以看到,这个Action不需要继承任何的父类,也就是说Struts2没有侵入性。这里的execute方法格式统一,因为struts2默认会执行这个方法的。这里只需要返回一个字符串就行了,比下面的Struts的Action简单很多。 (3)有了FormBean这个数据载体了,那就需要处理数据的类,在Struts里就是Action了,所有的Action都要继承Action类。如下 这里覆盖了Action里的execute方法,里面对name和password做了些处理,很简单的(简洁起见就不链接数据库了。)这里对execute里的几个参数做下解释。 ActionMapping:以键值对的方式保存了配置文件里的信息。 ActionForm:传入一个ActionForm,这里传入的是LoginForm,所以下面做了强制转换,从这里也可以看出,为什么FormBean都要继承ActionForm了。 ActionForward:就是个forward,里面保存了配置文件里配置的forward。 (4)配置配置文件,对Struts来说,配置如下 form-bean就是配置FormBean嘛!name就是起个别名,当要改变FormBean的时候,只要修改type指向需要的FormBean就可以了,而其他都不需要改变。 action_mapping就是配置哪个页面由哪个Action来处理的,path的用途就是,从此path过来的请求由此action来处理。input是处理完成后所要跳转的页面,对应LoginAction里的actionMapping.getInputForward()。name就是FormBean的名字,用哪个FormBean来存储数据,type就是对应Action了,使用哪个Action来处理此请求。validate是对应FormBean的,就是是否需要对FormBean里的数据做验证,这里先不验证。最后一个就是这个Action的作用范围。forward是另一个forward,是供LoginAction的actionMapping.findForward(“success”)使用的。Struts-config.xml与web.xml一样,默认放在WEB-INF下,你可以放到任意的地方,只要把下面的web.xml文件里的init-patam的值指向该文件就可以了。 对于Struts2来说,它有个struts.xml文件,放在src目录下,在web.xml也不需要任何的配置,默认就是在src下寻找此文件。该文件的配置如下。 很明显,比struts-config.xml简单很多。解释一下,package这行是默认的就这么写。 在action里name就

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档