• struts1和struts2的区别


      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可以通过初始化、设置属性、调用方法来测试,“依赖注入”也使得测试更容易。

  • 相关阅读:
    nova-conductor与AMQP(二)
    nova-conductor与AMQP(一)
    nova-api中ExtensionManager的构造
    openstack身份认证与API请求流程
    nova-api源码分析(APP中用到的开源库)
    nova-api源码分析(WSGI server的创建及启动)
    novaclient源码分析
    机器学习-----线性回归浅谈(Linear Regression)
    分布式文件系统--GFS
    java 小结2 多态问题和容器介绍
  • 原文地址:https://www.cnblogs.com/laotan/p/3655373.html
Copyright © 2020-2023  润新知