Struts1和Struts2的区别

Struts1和2的区别。在联想区别的时候,思考一下Struts2的处理流程,这样每个区别就都能背出来了。

  • Struts1中的Action不是线程安全的,Struts2中每个请求创建一个新的Action,所以是线程安全的。
  • Struts1中没有拦截器,所以每个Action的生命周期都是相同的。而在Struts2中可以自定义拦截器来实现不同的生命周期。
  • Struts1中的请求参数通过ActionForm进行传递,而Struts2中则直接传递到Action中。
  • Struts1中的Action必须要继承Action接口,而Struts2中不需要,只要方法中存在execute方法即可。
  • Struts1依赖ServletAPI,而Struts2中将Servlet都隐藏了。
  • Struts1使用JSTL,Struts2中加入了OGNL。
  • 变量访问。Struts1使用JSP默认的访问方式,而Struts2中使用ValueStack机制

Struts1中的每个Action在编写的时候要考虑多线程问题。因为Struts1中,每个Action都只有一个实例,所以execute方法有可能会被多个线程同时调用,而且上一次执行之后遗留下来的成员变量很容易造成BUG。因此在Struts1编写的时候,尽量使用本地变量,如果要使用成员变量,则要注意线程安全的问题。

时间: 2024-10-18 22:30:54

Struts1和Struts2的区别的相关文章

Struts1和Struts2的区别和对比(完整版)

Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简单来说二者的区别是: 一个是Stuts1 ,一个是Stuts2,这是最大的区别,技术方面,Stuts1有个核心控制器,但是只提供了一个接口,也就是execute,还要配置actionform之类的,很麻烦,所以依赖性比较强:而Stuts2是针对拦截器开发的,也就是所谓的AOP思想,可以配置多个act

Struts1和Struts2的区别和对比

Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口. • Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去 实现 常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象. 线程模式: • Stru

Struts1和struts2的区别(总结)?

struts1和Struts2的区别和对比:(欢迎补充) Action类: ?Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口. ?Struts2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去实现常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象. 线程模式: ?Strut

说说struts1与struts2的区别。

1.都是MVC的WEB框架,      2 struts1的老牌框架,应用很广泛,有很好的群众基础,使用它开发风险很小,成本更低!struts2虽然基于这个框架,但是应用群众并多,相对不成熟,未知的风险和变化很多,开发人员相对不好招,使用它开发项目的风险系数更大,用人成本更高!      3.struts2毕竟是站在前辈的基础设计出来,它会改善和完善struts1中的一些缺陷,struts1中一些悬而未决问题在struts2得到了解决.      4.struts1的前端控制器是一个Servle

Struts1和Struts2的区别和对比(完整版)(转)

Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口. • Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去 实现 常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Act

struts1与struts2的区别d

• Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口.• Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去 实现 常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象. 线程模式:• Struts1 Action是单例模式并且必须是线程安全的,因为仅有Actio

struts1与struts2的区别

Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简单来说二者的区别是: 技术方面,Stuts1有个核心控制器,但是只提供了一个接口,也就是execute,还要配置actionform之类的,很麻烦,所以依赖性比较强:而Stuts2是针对拦截器开发的,也就是所谓的AOP思想,可以配置多个action,用起来比较方便,但是因为请求之前的拦截器有一些注入

随笔55 Struts1和Struts2的区别和对比

Action 类:  ? Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口.  ? Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去 实现 常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象. 线程模式:  ? Strut

【Java基础】之Struts1与Struts2比较

在说到Struts1与Strus2的区别之前,不得不先提到MVC.MVC是一个种设计模式,代表了一种多层的应用程序的实现方式.处理过程为:首先控制器接受了用户的请求,并决定应该调用哪个模型来处理,然后模型处理了用户的请求后返回数据,最后控制器确定用相应的视图将模型返回的数据呈献给用户. 说完了MVC,再说一下为什么要用Struts框架.JSP.Servlet.JavaBean技术的出现给我们构建了强大的企业应用系统提供了可能,但这些技术构建的系统非常繁乱,所以在此基础上我们需要一些规则,一个把这