文档章节

SpringMVC与Struts2区别与比较总结

Q317075064
 Q317075064
发布于 2016/09/23 10:09
字数 435
阅读 354
收藏 4

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

1、Struts2是类级别, 一个类对应一个request上下文,SpringMVC是方法级别,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url;Struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了。

2、SpringMVC的方法之间基本上独立的,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架,方法之间不共享变量,而Struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的,这不会影响程序运行,却给我们编码 读程序时带来麻烦,每次来了请求就创建一个Action,一个Action对象对应一个request上下文

3、Struts2有以自己的interceptor机制,SpringMVC用的是独立的AOP方式,这样导致Struts2的配置文件量还是比SpringMVC大。SpringMVC可以认为已经100%零配置;SpringMVC开发效率和性能高于Struts2。

4、Spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高(当然Struts2也可以通过不同的目录结构和相关配置做到SpringMVC一样的效果,但是需要xml配置的地方不少)。

5、SpringMVC的入口是servlet,而Struts2是filter(这里要指出,filter和servlet是不同的),这就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。

© 著作权归作者所有

Q317075064
粉丝 11
博文 41
码字总数 54507
作品 0
成都
高级程序员
私信 提问
加载中

评论(0)

关于 Struts2 和 SpringMVC 区别?

又是一个常问的面试题,真是面试一次长一次见识。 那我们先就从原理出发: springMVC 原理(见下图): SpringMVC 流程 1、 用户发送请求至前端控制器 DispatcherServlet。 2、 DispatcherSe...

举个_栗子
2017/11/03
89
0
Spring MVC和Struts2的比较的优点

虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比较, 今天闲着没事干...

陈昊Sevens
2012/09/22
4.4K
0
SpringMVC 、Struts2之间的区别

一、Spring与SpringMVC的区别: spring是一个开源框架,是为了解决企业应用程序开发,功能如下: 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用 Spring...

osc_5iujocsb
2019/09/19
1
0
Spring MVC与Struts比较

Struts2与SpringMVC都是比较优秀,也是被广泛使用的Web开发框架,那么他们之间有什么区别呢?今天小博老师就跟大家来讨论下这个问题。 Struts工作流程图 Struts与Spring之间主要有以下几点区...

博为峰教研组
2016/11/24
40
0
阿里历年Java真题分享:spring+数据库+MVC+多线程

面试时候心态也很重要哦,心态可以影响你面试的准备,笔试的状态,实力的发挥,可以影响一个面试过程的方方面面。心态崩了,就只剩运气了,offer估计也就走远了。 先给大家一些心态上的建议 ...

java搬砖员
05/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Azure云端部署Exchange 2016双数据中心—Part6(DAG切换测试)

7.3 数据库切换测试 使用命令将DB03切换到另外一个数据中心服务器上。 Move-ActiveMailboxDatabase -Identity DB03 -ActivateOnServer ex02-data02 7.3.1 故障场景一 故障描述: 当1处发生故...

osc_bv96h8zs
14分钟前
11
0
linux jdk安装

redhat7.2 #java -version openjdk1.8 #rpm -i jdk-7u80-linux-x64.rpm #updatedb;locate java #alternatives --install /usr/bin/java java /usr/java/default/bin/java 0 #alternatives --......

osc_8vayftu3
15分钟前
19
0
ThreadPoolExecutor源码解析

ThreadPoolExecutor源码解析 1、常用变量的解释 // 1. `ctl`,可以看做一个int类型的数字,高3位表示线程池状态,低29位表示worker数量private final AtomicInteger ctl = new AtomicInteg...

随便记记
15分钟前
10
0
Linux 下使用 Nexus

为什么要搭建私服? 在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的。另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新。可以通过搭建公...

osc_3ytpwpyb
16分钟前
23
0
Exchange server 产品被爆史上最严重安全漏洞解决方案

据微软中国企业服务首席解决方案专家、微软大师张美波分享的信息:Trend Micro 发现了Exchange Server 产品历史上最为严重的系统漏洞,发送一封特定格式的邮件即可远程以系统账户执行任意代码...

osc_k8v7r34l
18分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部