Struts1 和 Struts2 的区别和对比
Struts1 要求 Action 类继承一个抽象基类。Struts1 的一个普遍问题是
使用抽象类编程而不是接口。
Struts 2 Action 类可以实现一个 Action 接口,也可实现其他接口,使
可选和定制的服务成为可能。Struts2 提供一个 ActionSupport 基类去
实现 常用的接口。Action 接口不是必须的,任何有 execute 标识的
POJO 对象都可以用作 Struts2 的 Action 对象。
线程模式:
Struts1 Action 是单例模式并且必须是线程安全的,因为仅有 Action
的一个实例来处理所有的请求。单例策略限制了 Struts1 Action 能作
的事,并且要在开发时特别小心。Action 资源必须是线程安全的或
同步的。
Struts2 Action 对象为每一个请求产生一个实例,因此没有线程安全
问题。(实际上,servlet 容器给每个请求产生许多可丢弃的对象,
并且不会导致性能和垃圾回收问题)
Servlet 依赖:
Struts1 Action 依 赖 于 Servlet API , 因 为 当 一 个 Action 被 调 用 时
HttpServletRequest 和 HttpServletResponse 被传递给 execute 方法。
Struts 2 Action 不依赖于容器,允许 Action 脱离容器单独被测试。如
果需要,Struts2 Action 仍然可以访问初始的 request 和 response。但
是 ,其他的元素 减少 或 者 消 除 了直 接 访 问 HttpServetRequest 和
评论0
最新资源