Struts2.x和Struts1.x的区别
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的区别相关推荐
- struts2.0和struts1.x的区别
WebWork是由OpenSymphony开发的MVC模式的J2EE Web框架. 目前已经捐献给Apache组织继续开发, 命名为Struts2. Action 类: 1 Struts1要求Ac ...
- springmvc、struts2、servlet的联系与区别
一 servlet - 体系(组织)结构图 图1 - servlet体系(组织)结构图 - 网 参考: Servlet学习笔记五(相关接口与类) - 哔哩哔哩 Servlet继承体系 - 码农岛 错题 ...
- struts2 过滤器和拦截器的区别和使用
struts2 过滤器和拦截器的区别和使用 java web 过滤器和拦截器的区别和使用 1.1 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming) ...
- java零碎要点---struts2中redirect和redirectAction的区别
struts2中redirect和redirectAction的区别 struts2中关于result的返回类型一般我们是转发到一个jsp页面或者是html页面等,但是struts2中的result的 ...
- jsp/servlet过滤器和struts2拦截器的有什么区别
jsp/servlet过滤器和struts2拦截器的有什么区别 542430725 | 浏览 3715 次 问题未开放回答 推荐于2016-11-14 01:43:29 最佳答案 过滤器,是在ja ...
- Struts2和SpringMVC简单配置以及区别总结
Struts2: struts 2 是一个基于MVC(mode-view-con)设计模式的Web应用框架,是由Struts1和WebWork两个经典框架发展而来的. 工作流程: 1客户端浏览器发出H ...
- java Struts2 过滤器和拦截器的区别
来源http://zhidao.baidu.com/link?url=xr9D15NBd0ZkjDV7M7l6MuLsOg6ksehFXMO7ueZPzHRcv6HRd8f7DM0lg0Tk919-V ...
- struts——struts在升级,作为程序员,该怎样以不变应万变?
struts在升级,作为程序员,该怎样以不变应万变? 怎样学习新版本struts? 今天无意中翻看了一下struts2.0,结果发现它与struts1.1有很大的变化,可以说已经变的面目全非了.作为程 ...
- Struts1和Struts2的区别和对比(完整版)
struts2不是struts1的升级,而是继承的webwork的血统,它吸收了struts1和webwork的优势. 先看struts的Action官方注释(struts1.3.8源代码) /** ...
最新文章
- 如何在Linux系统上部署接口测试环境
- Stringtie进行转录本组装和定量
- cve-2018-2628 Weblogic反序列化漏洞实现反弹shell
- openresty完全开发指南_送给你,PBA商业分析指南(全书下载)
- socket编程中的异常处理
- android nuwa2,android热更新
- SAP Spartacus Page Layout - 页面布局设计
- oracle 01013 02063,Oracle11g dblink用户密码大写限制-ORA-02063: preceding line from FOR244_DBLINK...
- LwIP应用开发笔记之六:LwIP无操作系统TCP客户端
- IBatisNet XML 特殊配置
- mysql错误归纳_MySQL错误信息总结
- Python21天打卡Day13-生成器表达式
- sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION问题解决
- php5.6 连接SQL SERVER
- excel文件修复工具_文件恢复工具 – 修复文件属性篡改
- MongoDB for MAC 下载及安装
- 菜鸡前端面试题整理日记
- filters过滤器的使用方法
- android 4k手机屏幕分辨率,安卓手机都4K屏了 真的有必要?
- php实训参考文献,SPSS实训心得体会
热门文章
- TensorFlow基于minist数据集实现手写字识别实战的三个模型
- stdthread(7)并发unique_lock灵活性
- 区块链BaaS云服务(22)趣链BitXHub跨链平台
- C++ Primer 5th笔记(7)chapter7 类:字面值常量类
- 01. 对称密码——算法
- 计算理论2--可计算理论
- [architecture]-ARMV8的RAS Extension(Reliability、Availability、Serviceability)介绍
- [register]-04-ARMv8的寄存器简介和总结
- Scrapy Django项目
- 2020-10-29(Android 的DEX ,ODEX,ELF )