Strust2.x不是新发布的新框架,而是另一个非常流行的框架WebWork基础上发展起来的。Struts2并没有继承Struts1的特点,但是它吸收了Struts1和WebWork两者的优势,因此是一个优秀的框架

Struts2和Struts1有很多不同点:

1,Action类的编写

在Struts1中,Action类一般是继承基类“org.apache.struts.action.Action”.而在Struts2中,Action类可以实现一个Action接口,也可以实现其他接口,也可以继承ActionSupport基类,甚至不需要实现任何接口,只编写execute函数即可

2,Action的运行模式

Struts1 中,Action是单态的,系统实例化一个对象来处理多个请求,为每个请求分配一个线程,在线程中运行execute函数。因此,在开发时需要需要特别小心,Action资源必须是线程安全的或者同步的。但是Strust2中,Action为每个请求产生一个实例,不会产生线程安全问题。

3,对Web容器的依赖

Struts1中,Action的execute函数中,传入Servlet API:HttpServletRequest和HttpServletResponse,使得测试依赖于Web容器,但是,Struts2中,可以不传入HttpServletRequest和HttpServletResponse,但是可以访问它们

HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();

4,对表单数据的封装

Struts1中,使用ActionForm来封装表单数据,所有的ActionForm必须继续org.apache.struts.action.ActionForm,有可能造成ActionForm类和VO类重复编码。但是,Struts2中,直接在Action中编写表单数据对应的属性,就是把Struts1中ActionForm和Action合二为一了,可以不用编写ActionForm,而这些属性又可以通过Web页面上的标签访问。

Struts2.x和Struts1.x的区别相关推荐

  1. struts2.0和struts1.x的区别

      WebWork是由OpenSymphony开发的MVC模式的J2EE Web框架. 目前已经捐献给Apache组织继续开发, 命名为Struts2. Action 类: 1 Struts1要求Ac ...

  2. springmvc、struts2、servlet的联系与区别

    一 servlet - 体系(组织)结构图 图1 - servlet体系(组织)结构图 - 网 参考: Servlet学习笔记五(相关接口与类) - 哔哩哔哩 Servlet继承体系 - 码农岛 错题 ...

  3. struts2 过滤器和拦截器的区别和使用

    struts2 过滤器和拦截器的区别和使用 java web 过滤器和拦截器的区别和使用  1.1 什么是拦截器:      拦截器,在AOP(Aspect-Oriented Programming) ...

  4. java零碎要点---struts2中redirect和redirectAction的区别

    struts2中redirect和redirectAction的区别 struts2中关于result的返回类型一般我们是转发到一个jsp页面或者是html页面等,但是struts2中的result的 ...

  5. jsp/servlet过滤器和struts2拦截器的有什么区别

    jsp/servlet过滤器和struts2拦截器的有什么区别 542430725 | 浏览 3715 次  问题未开放回答  推荐于2016-11-14 01:43:29 最佳答案 过滤器,是在ja ...

  6. Struts2和SpringMVC简单配置以及区别总结

    Struts2: struts 2 是一个基于MVC(mode-view-con)设计模式的Web应用框架,是由Struts1和WebWork两个经典框架发展而来的. 工作流程: 1客户端浏览器发出H ...

  7. java Struts2 过滤器和拦截器的区别

    来源http://zhidao.baidu.com/link?url=xr9D15NBd0ZkjDV7M7l6MuLsOg6ksehFXMO7ueZPzHRcv6HRd8f7DM0lg0Tk919-V ...

  8. struts——struts在升级,作为程序员,该怎样以不变应万变?

    struts在升级,作为程序员,该怎样以不变应万变? 怎样学习新版本struts? 今天无意中翻看了一下struts2.0,结果发现它与struts1.1有很大的变化,可以说已经变的面目全非了.作为程 ...

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

    struts2不是struts1的升级,而是继承的webwork的血统,它吸收了struts1和webwork的优势. 先看struts的Action官方注释(struts1.3.8源代码) /** ...

最新文章

  1. 如何在Linux系统上部署接口测试环境
  2. Stringtie进行转录本组装和定量
  3. cve-2018-2628 Weblogic反序列化漏洞实现反弹shell
  4. openresty完全开发指南_送给你,PBA商业分析指南(全书下载)
  5. socket编程中的异常处理
  6. android nuwa2,android热更新
  7. SAP Spartacus Page Layout - 页面布局设计
  8. oracle 01013 02063,Oracle11g dblink用户密码大写限制-ORA-02063: preceding line from FOR244_DBLINK...
  9. LwIP应用开发笔记之六:LwIP无操作系统TCP客户端
  10. IBatisNet XML 特殊配置
  11. mysql错误归纳_MySQL错误信息总结
  12. Python21天打卡Day13-生成器表达式
  13. sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION问题解决
  14. php5.6 连接SQL SERVER
  15. excel文件修复工具_文件恢复工具 – 修复文件属性篡改
  16. MongoDB for MAC 下载及安装
  17. 菜鸡前端面试题整理日记
  18. filters过滤器的使用方法
  19. android 4k手机屏幕分辨率,安卓手机都4K屏了 真的有必要?
  20. php实训参考文献,SPSS实训心得体会

热门文章

  1. TensorFlow基于minist数据集实现手写字识别实战的三个模型
  2. stdthread(7)并发unique_lock灵活性
  3. 区块链BaaS云服务(22)趣链BitXHub跨链平台
  4. C++ Primer 5th笔记(7)chapter7 类:字面值常量类
  5. 01. 对称密码——算法
  6. 计算理论2--可计算理论
  7. [architecture]-ARMV8的RAS Extension(Reliability、Availability、Serviceability)介绍
  8. [register]-04-ARMv8的寄存器简介和总结
  9. Scrapy Django项目
  10. 2020-10-29(Android 的DEX ,ODEX,ELF )