struts2与springmvc的区别
2024-09-28 12:54:54
1 机制不同
springmvc的入口是servlet,struts2的入口是filter,导致了二者的机制不同;
2 性能不同
spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去,在spring mvc中,一个方法对应一个request上下文。而struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入;struts2实际上是通过 setter getter方法与request打交道的;struts2中,一个Action对象对应一个request上下文。
Struts2处理请求是为每个请求都创建一个单独的Action类,Action类当中的Field属性参数作为输入和输出参数用IOC来依赖注入的方式,是基于类的,入口是filter。
而SpringMVC则采用输入Request和Reponse作为参数,返回ModelAndView的方式,是单例的模式,且是基于方法的模式,入口是servlet,速度比struts2快。
最新文章
- LoadRunner免费公开课,惠普金牌讲师亲授
- [LeetCode] Search for a Range 搜索一个范围
- 字符集WideCharToMultiByte
- google gflags使用.
- linux入门教程(五) Linux系统的远程登录
- Linux文件系统的设计
- iOS 从app跳转到Safari、从app打开电话呼叫
- OO alv report
- ZOJ 3927 Programming Ability Test
- IOS开发中如何给UIImageView添加点击事件
- ASP.NET MVC 5 基本构成
- 【1】ArcGIS API for JavaScript 4.5/4.6 本地部署
- (转载)Android出现“Read-only file system”解决办法
- springBoot启动的时候动态选择装载某些bean
- 内存管理-buddy[代码]
- FormatMessage
- BZOJ5101[POI2018]Powódź——并查集
- jstorm开发指南-写个简单的jstorm应用
- python 爬虫系列教程方法总结及推荐
- Golang项目开发管理
热门文章
- react中手动重置redux
- vb6 使用msxml2.serverxmlhttp 请求HTTP
- 20154327 Exp9 Web安全基础
- WPF 学习笔记-在WPF下创建托盘图标
- 22-[模块]-hashlib
- 【BZOJ1050】[HAOI2006]旅行
- 微信小程序:text元素中加入空格
- $watch, $watchCollection, $watchGroup的使用
- CentOS7.4 部署 Django + Python3 + Apache + Mod_wsgi
- Java编辑PPT的柱状图,与内嵌的Excel联动