struts1和2的区别总结
Struts2主要改进是取代了Struts1的Servlet和Action。
1、Struts2的核心框架是当作一个filter来实现其功能的,而Struts1是ActionServlet。这是本质区别。struts1通过servlet来拦截客户端的请求,因为在web.xml里定义了一个ActionServlet。struts2通过filter来拦截客户端的请求,因为在web.xml里定义了一个FilterDispatcher。struts1 是struts的核心,是基于servlet的API,struts2 是webwork的核心。基于自己的API。
2、 struts1通过actionform来封装客户端提交的表单数据,struts2通过在action中定义getter setter来获取表单数据。
3、在Action上,Struts1都少不了要传递Request等参数,还要继承Action父类,而Struts2只要实现了一个publicString execute()就可以了,这样Action就可以实现脱离Servlet 测试。
Struts2还提供了拦截器(Interceptot)等Struts1所没有的技术。
4、线程方面,Struts1 Action是单例模式并且必须是线程安全的,因为只有Action的一个实例来处理所有请求。要求线程必须是安全的。Struts2 Action对象为每一个请求创建一个独立的对象实例,因此不存在线程安全的问题。Struts1,server启动后,对用户的每个request, 后台controller会mapping其对应的ACTION,如果是首次访问,则initialize。单例的好处:多个request共享一个ACTION instance,节省了资源,但由于共享,not thread safe,需要额外小心。Struts 2,采用Webwork的核心引擎,每个request会new 出一ACTION instance, 不用考虑thread safe问题。
5、一个简单的配置文件struts.xml取代了struts1里面的strut-config.xml。
struts1和2的区别总结相关推荐
- Struts1和Struts2的区别和对比(完整版)
struts2不是struts1的升级,而是继承的webwork的血统,它吸收了struts1和webwork的优势. 先看struts的Action官方注释(struts1.3.8源代码) /** ...
- Struts1和Struts2的区别和对比(完整版)(转)
Struts1和Struts2的区别和对比(完整版)(转) Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一 ...
- Struts1和Struts2的区别和对比
2019独角兽企业重金招聘Python工程师标准>>> 类: •Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口. • Str ...
- Struts1与Struts2的区别
Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口. • Struts 2 Action类可以实现一个Action接口 ...
- struts1和struts2的区别2
1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类:Struts 1的一个具体问题是使用抽象类编程而不是接口.Struts 2 Action类可以实现一个Acti ...
- Struts1、Struts2及SpringMVC对比
Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简 ...
- Struts1与Struts2对比分析
Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简 ...
- java创建描述文件,IT技术交流:Java 轻量级整合开发
原标题:IT技术交流:Java 轻量级整合开发 ervlet-ActionServlet 控制器,接受用户请求和状态改变,以及发出视图选择 FilterDispatcher Action 控制器的一部 ...
- Java笔试题之《流行的框架与新技术》
流行的框架与新技术 1.谈谈你对Struts的理解. 答: 1. struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionSe ...
- struts、hibernate、spring、 mybatis、 spring boot 等面试题汇总
1.谈谈你对Struts的理解. 答: 1. struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是ActionS ...
最新文章
- 关于Docker目录挂载的总结(转)
- sqlserver往oracle写数据,Sqlserver连接oracle进行读写数据库
- linux c++开发环境_使用 VM VirtualBox 搭建完善的Linux开发环境
- qt-designer使用教程3--编写自己的槽
- C语言面向对象编程(四):面向接口编程
- python换源还是不行_浅析Python3 pip换源问题
- Thymeleaf模板如何获取springMVC返回的model值
- 无心剑中译狄金森诗36首
- 使用 matlab 进行正太拟合
- Spark Architecture
- 私人影院音响效果如何有效提升?
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-3.微信Oauth2.0交互流程讲解...
- 计算机合成音乐及扩展名为,计算机合成声音
- SpringBoot+SpringSecurity+Thymeleaf 演示CSRF攻击
- 腾讯云轻量应用服务器搭建即时通信 IM系统
- 个人网站接入live2d详细教程
- ue4 android log,UE4+Log日志
- Hadoop大数据单词统计
- Apache Storm中KafkaSpout使用
- thinkphp框架源码交易系统资源网站源码
热门文章
- 改winpe注册信息及OEM信息
- python代码示例-Python代码样例列表
- winpe装双系统linux_自制WINPE+MAC安装U盘及双系统存储U盘(增加多系统安装)
- swfupload 无法加载_解决SWFUpload的按钮图片加载慢的问题
- 源码阅读:PointNet++
- css下拉菜单代码(用纯css实现下拉菜单)
- 这10个免费电子书网站合集赶紧收藏了!
- UCHome全面大解析【二】----基本体系结构
- linux init进程源码,Android启动Init进程源码分析
- web漏扫问题处理1