strust1与strust2,springmvc三者之间的区别?
strust1与struts2的区别
1.struts2是基于webWork的一个全新的框架,比struts1学习更方便
Struts2主要是改进了Struts1的servlet和action
Struts2的核心框架式当做一个filter来实现其功能,而struts1是ActionServlet
Struts2还提供拦截器
速度相对Stuts1来说慢一点。
2.strust2,springmvc的区别
1.Struts2是类级别拦截器,一个类对应request上下文,SpringMVC是方法级别的拦截,一个 方法对应一个requset上下文,而方法同时又跟一个url对应,所以从架构本身SpringMVC就容易实现 restful url,而struts2的架构实现起来要费尽。因为Struts2中Action的一个方法可以对应一个url, 而其类属性却被所有方法共享,所以无法用注解
2.SrpingMVC的方法之间基本上是独立的,独享request,response数据,请求的数据 通过参数获取,处理结果通过modelMap交回给框架,方法之间是不能共享变量 而Struts2,所有的action变量是共享的。
3.拦截器机制上,Struts2有自己的interceptor机制,Spring用的是独立的Aop方式, 这样就导致了Struts2的配置文件量比SpringMVC大
4.SpringMVC的入口是servlet,而Struts2是filter
5.SpringMVC集成了Ajax,只需一个注解@ResponseBody就可以实现 而Struts2必须安装插件
6.SpringMVC 和Spring 是无缝的,从项目的管理和安全上也比Struts2高
7.设计思想,Struts2更加符合OOP的变成思想。 SpringMVC是在servlet上扩展
strust1与strust2,springmvc三者之间的区别?的更多相关文章
- [转]ExtJs基础--Html DOM、Ext Element及Component三者之间的区别
要学习及应用好Ext框架,必须需要理解Html DOM.Ext Element及Component三者之间的区别. 每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM ...
- $POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别
$POST .$HTTP_RAW_POST_DATA.php://input三者之间的区别 访问原始 POST 数据的更好方法是 php://input或者$HTTP_RAW_POST_DATA.$H ...
- keydown,keypress,keyup三者之间的区别
最近看了Javascript高级教程中对过滤输入的介绍,想实现比如电话号码中不能包好非数值的字符,而相应文本中插入字符的操作是keypress事件,所以就想通过阻止这个事件的默认事件行为来阻止这个事件 ...
- @private、@protected与@public三者之间的区别
@private.@protected与@public三者之间的区别 类之间关系图 @private只能够使用在声明的类当中,其子类也不能够使用用@private声明的实例变量 @protected只 ...
- .NET、C#和ASP.NET三者之间的区别与联系
.NET.C#和ASP.NET三者之间的区别与联系 1..net(dot net) .net是一个平台,抽象的平台概念. 实现形式是库:①定义了基本的类型(通用类型系统CTS,common type ...
- iOS中NSNotification、delegate、KVO三者之间的区别与联系?
前面分别讲了delegate.notification和KVO的实现原理,以及实际使用步骤,我们心中不禁有个疑问,他们的功能比较类似,那么在实际的编程中,如何选择这些方式呢? 在网上看到一个博客上详细 ...
- C#、.NET和ASP.NET三者之间的区别
刚毕业后出去找工作面试的时候就遇到这个问题!.回答不上来.回来网上查的如下: 那么 .NET.C#和ASP.NET这三者之间区别不清楚,到底它们之间有什么联系呢? 1..NET是一个平台,一个抽象的平 ...
- 虚拟机、云主机、VPS 三者之间的区别
当我们想部署网站的时候,经常会听到vps.云主机.虚拟机等关键字,那么你知道这几者之间的区别吗?本文就讲解一下VPS.云主机.虚拟机之间的区别. 什么是VPS VPS 是Virtual Private ...
- socket,tcp,http三者之间的区别和原理
http.TCP/IP协议与socket之间的区别下面的图表试图显示不同的TCP/IP和其他的协议在最初OSI模型中的位置: 7 应用层 例如HTTP.SMTP.SNMP.FTP.Telnet.SIP ...
随机推荐
- 修改httpd默认端口号
Tomcat: vim /etc/httpd/conf/httpd.conf//别忘了service httpd restart Nginx: vim /etc/nginx/nginx.conf//完 ...
- Adapter的封装之路
原文:Adapter的封装之路 一.几种常见列表效果: 假如要用RecyclerView实现下面的几种效果,你会如何实现呢? 效果1:单布局效果 效果2:多布局效果 有多种Item布局 效果3 ...
- js兼容获取元素的样式
js获取元素的样式的兼容性处理: function getStyle(obj,attr){ return obj.currentStyle?obj.currentStyle[attr]:getComp ...
- 【Matplotlib】详解图像各个部分
首先一幅Matplotlib的图像组成部分介绍. 在matplotlib中,整个图像为一个Figure对象.在Figure对象中可以包含一个或者多个Axes对象.每个Axes(ax)对象都是一个拥有自 ...
- eclipse关闭编译时不必要的校验
- ETL基础1(概念)
抽取(Extract): 一般抽取过程需要连接到不同的数据源,以便为随后的步骤提供数据.这一部分看上去简单而琐碎,实际上它是 ETL 解决方案的成功实施的一个主要障碍. 转换(Transform): ...
- 【BZOJ-3643】Phi的反函数 数论 + 搜索
3643: Phi的反函数 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 141 Solved: 96[Submit][Status][Discuss ...
- Mysql服务启动的时候 如何加载配置文件
Mysql服务启动的时候 如何引导配置文件 (启动加载顺序)
- 中软培训第一周复习总结 --简单的HTML 与CSS
一些需要记住的点: day1 HTML格式及简单标签: html 文件一般格式: 1 <html> 2 <head lang="en"> 3 <met ...
- php 错误
ini_set('display_errors', '1');error_reporting(E_ALL ^ E_NOTICE); 有时有了其它框架 应该用它的配置,要不然,你改了,它又改回去了: ...