zoukankan      html  css  js  c++  java
  • Struts2五、Struts1与Struts2的区别

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

    线程模式: 
    • Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求,当一个Action实例被创建以后,会将Action放入缓存中,再有请求访问此Action时,系统将使用缓存中已存在的Action进行处理。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。
    • Struts2 Action对象为每一个请求产生一个Action实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)

    Servlet 依赖: 
    • Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。
    • Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response。但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性。
  • 相关阅读:
    MySql 语言分类
    grep正则 以.o结尾的文件
    demo板 apt-get install stress
    ltp-ddt qspi_mtd_dd_rw error can't read superblock on /dev/mtdblock0
    linux 系统中的 /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin 目录的区别
    setenv和dos2unix碰到的问题
    bootz to be continued
    runltp出现问题 [
    demo board boot mode
    excel条件格式 满足包含xx的整行高亮
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114797.html
Copyright © 2011-2022 走看看