问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

struts 和 struts2 有什么区别?

发布网友 发布时间:2024-10-02 17:26

我来回答

3个回答

热心网友 时间:2024-10-21 07:02

你问的是哪方面呢?struts和struts2的区别可以从以下几个方面来进行了解:
— 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的POJO类都可以用作Struts 2的Action。

— 线程模式方面的对比:Struts 1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts 1 Action能做的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的;Struts 2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。

— Servlet依赖方面的对比:Struts 1 Action依赖于Servlet API,因为Struts 1 Action的execute方法中有HttpServletRequest和HttpServletResponse方法。Struts 2 Action不再依赖于Servlet API,从而允许Action脱离Web容器运行,从而降低了测试Action的难度。 当然,如果Action需要直接访问HttpServletRequest和HttpServletResponse参数,Struts 2 Action仍然可以访问它们。但是,大部分时候,Action都无需直接访问HttpServetRequest和HttpServletResponse,从而给开发者更多灵活的选择。

— 可测性方面的对比:测试Struts 1 Action的一个主要问题是execute方法依赖于Servlet API,这使得Action的测试要依赖于Web容器。为了脱离Web容器测试Struts 1的Action,必须借助于第三方扩展:Struts TestCase,该扩展下包含了系列的Mock对象(模拟了HttpServetRequest和HttpServletResponse对象),从而可以脱离Web容器测试Struts 1的Action类。Struts 2 Action可以通过初始化、设置属性、调用方法来测试。

— 封装请求参数的对比:Struts 1使用ActionForm对象封装用户的请求参数,所有的ActionForm必须继承一个基类:ActionForm。普通的JavaBean不能用作ActionForm,因此,开发者必须创建大量的ActionForm类封装用户请求参数。虽然Struts 1提供了动态ActionForm来简化ActionForm的开发,但依然需要在配置文件中定义ActionForm;Struts 2直接使用Action属性来封装用户请求属性,避免了开发者需要大量开发ActionForm类的烦琐,实际上,这些属性还可以是包含子属性的Rich对象类型。如果开发者依然怀念Struts 1 ActionForm的模式,Struts 2提供了ModelDriven模式,可以让开发者使用单独的Model对象来封装用户请求参数,但该Model对象无需继承任何Struts 2基类,是一个POJO,从而降低了代码污染。

— 表达式语言方面的对比:Struts 1整合了JSTL,因此可以使用JSTL表达式语言。这种表达式语言有基本对象图遍历,但在对集合和索引属性的支持上则功能不强;Struts 2可以使用JSTL,但它整合了一种更强大和灵活的表达式语言:OGNL(Object Graph Notation Language),因此,Struts 2下的表达式语言功能更加强大。

— 绑定值到视图的对比:Struts 1使用标准JSP机制把对象绑定到视图页面;Struts 2使用“ValueStack”技术,使标签库能够访问值,而不需要把对象和视图页面绑定在一起。

— 类型转换的对比:Struts 1 ActionForm 属性通常都是String类型。Struts 1使用Commons-Beanutils进行类型转换,每个类一个转换器,转换器是不可配置的;Struts 2使用OGNL进行类型转换,支持基本数据类型和常用对象之间的转换。

— 数据校验的对比:Struts 1支持在ActionForm重写validate方法中手动校验,或者通过整合Commons alidator框架来完成数据校验。Struts 2支持通过重写validate方法进行校验,也支持整合XWork校验框架进行校验。

— Action执行控制的对比:Struts 1支持每一个模块对应一个请求处理(即生命周期的概念),但是模块中的所有Action必须共享相同的生命周期。Struts 2支持通过拦截器堆栈(Interceptor Stacks)为每一个Action创建不同的生命周期。开发者可以根据需要创建相应堆栈,从而和不同的Action一起使用。

热心网友 时间:2024-10-21 06:55

struts和struts2其实联系不大,struts2是在webwork2和struts的基础上发展起来的,但是struts2继承却是webwork2的核心。而对于struts呢,只是对其中的一些不足的地方做了进一步的完善,总的来说struts和struts2的关系不是那么密切,只是在使用上struts2的配置文件的更加简化了。在性能上,struts2比struts更加优越

热心网友 时间:2024-10-21 06:55

其实struts2与struts1关系不是很大,struts2主要是基于webwork(这也是个老牌框架)。如果你感兴趣的话,我告诉你struts1的核心是个servlet,而struts2的核心是个filter,和webwork的内核一样。很多初学者都误以为struts2是从struts1升级过来的,其实大错特错,但他们俩的老板确实一样,都是Apache组织。也可以这样说,strust2基于webwork和struts1,但是其内核还是webwork。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 struts-default.xml在struts2.0里面有什么作用? ...主要还是能拉点货、想问问这辆车的车况怎么样、面包车我有了_百度... 神武2天魔蚩尤孩子 电动车事故赔偿流程 梦幻50级小号做什么最赚钱? struts2的表单中 用a href="articleList.action" 能实现表单提交吗? 梦幻想练个50级的小号赚钱。练什么门派?怎么玩赚钱比较轻松? struts2 include标签 参数传递 jsp页面中的多个文本框的值传到struts2的Action处理 梦幻50的小号什么门派赚钱快 struts2 action传值 I7 2600k 5.4G上不去 是体质问题吗? 线圈功耗为5.4W是什么意思 ...测回气压力5.4K/C㎡制冷效果很差,是什么问题?是10年5月生产的._百 ... 请问5.4k色环是多少 ...京东商城4.5k,另一个是家嵌入式上市公司,月薪5.4k。 台球五种弧线球打法及技巧运用 夫妻相克怎么办?我是火命,而我老婆是水命,算命的说不能结婚,可是我们真... 台球初学者问个问题!用低杆打角度球时怎么能让母球撞击目标后走出漂亮... 新手求解。struts2 DomainModel方法传送参数为什么接受不了?_百度知 ... 《哈利波特》中 霍克沃茨学校的建筑是否存在?在什么地方?求详细地址 有哪些涂抹面膜的控油效果不错? 千古帝王传奇:李世民目录 千古帝王传奇·从战国到一统天下:秦始皇图书信息 千古帝王与河北图书目录 我是南通人,我在南京交了几个月社会保险,请问我如果现在不交保险了,那... ...养老保险我现在在南通工作这边单位要帮我交保险需要怎么转_百度知 ... ...几个月要补交医疗保险,养老保险已经补交好了,现在就想问一下,自己... 全世界一共有多少国家?拜托了各位 谢谢 全世界共有多少個國家.?拜托了各位 谢谢 华硕win7笔记本电脑出现开机黑屏...就是本来应该出现桌面的,但是到这里... ...和黑色的裙子 然后再搭一条大红的围脖,这样搭配好看吗 雪莲菌功效 WIN7一开机就好像之前没有正常关机一样,但是按了正常启动WINDOW之后显示... 喝雪莲菌制的酸奶能抗癌吗?是否有副作用呀? 天山雪莲菌是碱性吗,据说碱性的东西预防肿瘤,所以想知道下 广东2024年交通事故赔偿标准是多少 交通事故伤者赔偿标准2024所包含的项目有哪些? 中国标准化协会简介 中国标准化协会介绍