博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts1和struts2的区别
阅读量:5313 次
发布时间:2019-06-14

本文共 755 字,大约阅读时间需要 2 分钟。

  struts1和struts2的对比

   a、Action类:

      struts1要求Action类继承一个基类。struts2 Action要求继承ActionSupport基类

   b、线程模式

      struts1 Action是单例模式的并且必须是线程安全的,因为仅有一个Action的实例来处理所有的请求。

      单例策略限制了Struts1 Action能做的事情,并且开发时特别小心。Action资源必须是线程安全的或同步的。

      struts2 Action为每一个请求产生一个实例,因此没有线程安全问题。(说以struts2每次请求set数据时候不用担心会是前面的数据)

   c、Servlet依赖

      struts1 Action依赖于Servlet API,因为当一个Action被调用时HttpServletRequest和HttpServletResponse被传递给execut方法。

      struts2 Action不依赖于容器,允许Action脱离容器单独测试。如果需要,Struts2 Action仍然可以访问初始的Request和Response。(解偶)

      但是,其他的元素减少或者消除了直接访问HttpServletRequest和HttpServletResponse的必要性。

   d、可测性

      测试struts1 Action的一个主要问题是execute方法暴露了Servlet API(这使得测试要依赖于容器)。一个第三方扩展:struts TestCase

      提供了一套struts1的模拟对象来进行测试。

      Struts2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”也使得测试更容易。

转载于:https://www.cnblogs.com/laotan/p/3655373.html

你可能感兴趣的文章
转载:Pixhawk源码笔记一:APM代码基本结构
查看>>
0920,结构体
查看>>
[luoguP2601] [ZJOI2009]对称的正方形(二维Hash + 二分 || Manacher)
查看>>
C#委托和事件的调用
查看>>
解决冲突
查看>>
自定义Git
查看>>
bzoj2132: 圈地计划
查看>>
UVa1607 poj1435 UVaLive1686 Gates
查看>>
黑白图像(DFS)
查看>>
傅里叶变换的物理意义
查看>>
stm32 usmart使用
查看>>
ubuntu linux下建立stm32开发环境: 程序烧录 openocd+openjtag
查看>>
使用命令导入、导出mysql数据
查看>>
webstrom使用方法
查看>>
Python基础七(函数)
查看>>
Eclipse将引用了第三方jar包的Java项目打包成jar文件
查看>>
UML 用例图
查看>>
软件开发技术
查看>>
线上问题随笔记录数据库连接池问题
查看>>
Window对象
查看>>