美文网首页
springMVC和Struts2的区别

springMVC和Struts2的区别

作者: 我在写简书 | 来源:发表于2017-09-20 21:54 被阅读58次

    SpringMVC和Struts2的区别_腾讯视频

    一、背景介绍

    MVC模式:

    MVC 是 Model-View-Control 的简称,即模型-视图-控制器。它是一个存在于服务器表达层的模型,它将应用分开,改变应用之间的高度耦合。

    MVC模式结构:

    MVC 模式将应用分为模型、视图和控制器三个部分:

    1. 视图:数据的展现。

    2. 模型:应用对象。

    3. 控制器:逻辑处理、控制实体数据在视图上展示、调用模型处理业务请求。

    MVC的优点:

    1.耦合性低

    2.重用性高

    3.部署快

    4.生命周期成本低

    5.可维护性高

    MVC的缺点:

    1.增加了系统和实现的复杂型

    2.视图对数据的访问效率低

    3.内部原理比较复杂

    二、知识剖析

    spring MVC

    Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring MVC也是要简化我们日常Web开发的。

    struts2

    Struts2是流行和成熟的基于MVC设计模式的Web应用程序框架。 Struts2不只是Struts1下一个版本,它是一个完全重写的Struts架构。

    三、常见问题以及解决方法

    spring MVC和struts2的区别

    1.由于Struts2需要针对每个request进行封装,把request,session等servlet生命周期的变量封装成一个一个Map,供给每个Action使用,并保证线程安全,所以在原则上,是比较耗费内存的。

    2. 拦截器实现机制上,Struts2有以自己的interceptor机制,SpringMVC用的是独立的AOP方式,这样导致Struts2的配置文件量还是比SpringMVC大。

    3.Spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高

    (这是从简单的demo上简单的了解的,还有其他的区别下面这边博客里面写的很清楚)

    http://blog.csdn.net/chenleixing/article/details/44570681

    为什么更倾向于使用Spring MVC

    1.安全:最近struts2爆出了高危的漏洞

    2.效率:springMVC的开发效率和性能都高于struts2

    3.个人觉得比SpringMVC麻烦

    四、代码实战

    spring-struts2-mybatis-demo

    五、更多讨论

    q:什么情况用Struts比用springmvc好呢?

    a:个人觉得什么情况下用springMVC都比struts好(见识比较短浅)

    q:Struts 不能用el嵌套 把jsp里不可以写入el吗?

    a:struts2的页面是用的一个叫做OGNL表达式来写的,但是我们也测试了加入jstl的jar包,在jsp中也可以用el表达式。

    q:struts比起spring有什么新特性?

    a:新特性的话,springMVC出的比struts2晚,不存在新特性。

    q:struts2能不能用tiles框架?

    a:上面提到也可以用到el表达式,也就可以用tiles框架。

    相关文章

      网友评论

          本文标题:springMVC和Struts2的区别

          本文链接:https://www.haomeiwen.com/subject/qpxasxtx.html