Struts与Spring MVC的比较

 1 一,Struts2
 2
 3  1,每次请求(request)都会实例化一个控制类(Action),因为Model存在与Action中,即action是有状态的,所以每次请求都要实例化,而且struts2的设计者认为在强大的垃圾收集器下,用完就扔,并不会影响性能问题,而且还可以保证线程的安全问题.
 4
 5
 6
 7 2,自从struts2之后,里面的设计除了action之外,大部分功能都围绕着拦截器设计,如果称我们平常的逻辑为横性思维的话,拦截器提供了纵向思维扩展,在我们执行action时,可以任意提供其他的应用,有点像aop的味道....
 8
 9
10
11 3,至于struts2提供了很丰富的界面功能,,这点我觉的没必要比较,因为在大多数应用开发中,,大多数人在界面上都运用其他的第三方如jstl或者extjs等等...这个不作优势比较
12
13
14
15 4,稍微看了下源码,使用了代理(ActionProxy)以及反射机制进行(dispatch),有些人说这样的代理是最损耗性能,,,如上面的设计者所说每次都创建一个实例没事,更何况这个代理呢,,,在java企业应用时,大部分可以就架构而去性能..
16
17
18
19 二,spring mvc
20
21
22
23 1,也有提供拦截器,,但是提供的并没有sturts2完全以及强大
24
25
26
27 2,spring提供了annotation的注释,使我们更少的去配置xml,而且灵活度非常强,使开发起来更加便利
28
29
30
31 3,spring 提供的handleAdapter,可使servlet或者其他自己实现的接口替换进来,相当灵活
32
33
34
35 4,spring提供的mapping,action,view(jsp,velocity等),根据需要可以实现最大限度的灵活性
36
37
38
39 结:本人认为,综合了上述的内容,,
40
41 一个团队中决定使用哪种框架开发,应该取决于团队对某种框架的了解程度,,达到更高效的开发才最合适,,没有最好的框架,只有最适合的框架...
时间: 2024-11-13 10:20:44

Struts与Spring MVC的比较的相关文章

Spring MVC 快速入门-01

MVC介绍 MVC是什么 mvc是一种使用MVC(Model View Controller) 设计创建Web应用程序的模式 Model(模型) 表示程序核心计算 View(视图) 展示数据 Controller (控制器) 处理输入 常用的MVC框架 比较常用的MVC框架有Struts 和 Spring MVC Struts是java Web MVC框架中不争的王者.经过长达九年的发展,Struts已经逐渐成长为一个稳定.成熟的框架,并且占有了MVC框架中最大的市场份额.但是Struts某些技

Spring MVC 学习总结(一)——MVC概要与环境配置

一.MVC概要 MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范,用一种将业务逻辑.数据.显示分离的方法组织代码,MVC主要作用是降低了视图与业务逻辑间的双向偶合.MVC不是一种设计模式,MVC是一种架构模式.当然不同的MVC存在差异. 在web早期的开发中,通常采用的都是Model1.Model1中,如图所示主要分为两层,视图层和模型层.Model2把一个项目分成三部分,包括视图.控制.模型.这样不仅提高的代码的复用率与项目的扩展性,且大大

基于spring mvc 移动终端后台开发

基于spring mvc 移动终端后台开发 研发背景 到年底了,很多项目都要突击完成,我们自己的"问题及知识管理平台"移动端研发也到了不能再拖的地步,所以需要在后台集成移动端框架.由于后台架构采用spring mvc+hibernate,并且近期也深入的研究过spring mvc,所以就不想沿用已有成熟的整合方案<HTML5企业移动应用解决方案V1.0.doc>,尝试完全应用spring framework技术实现移动端后台架构. 根据技术特点和我的一些架构封装想法,给自己

Spring MVC -- MVC模式

对于简单的Java Web项目,我们的项目仅仅包含几个jsp页面,由于项目比较小,我们通常可以通过链接方式进行jsp页面间的跳转. 但是如果是一个中型或者大型的项目,上面那种方式就会带来许多维护困难,代码复用率低等问题.因此,我们推荐使用MVC模式. 一 MVC概念 1.什么是MVC MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范.它是用一种业务逻辑.数据与界面显示分离的方法来组织代码,将

spring mvc 与Struts的认识

首先,纠正一个概念上的错误.ssh一般意义上是指 struts,spring framework以及hibernate.这三个框架作用是不一样的.hibernate主要是用于持久层,struts主要是用于mvc,而spring主要用于aop和ioc.再来看 spring mvc.从名字来看,就知道这是一个mvc框架,所以,spring mvc和ssh根本就没有可比性,他们不是一个东西.spring mvc和struts都是mvc框架,他俩才有比较的意义.回到正题,spring mvc和strut

spring mvc 和 Struts 2

struts2 基于过滤器filter, 由filter寻找类,然后再找方法,spring mvc 是基于servlet, 把每个方法通过注解注册在spring中, 通过servlet直接找到方法. --个人理解 原文地址:https://www.cnblogs.com/sky-tiankong/p/8383568.html

Spring MVC简介

Spring MVC框架是有一个MVC框架,通过实现Model-View-Controller模式来很好地将数据.业务与展现进行分离.从这样一个角度来说,Spring MVC和Struts.Struts2非常类似.Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler.通过可配置的handler mappings.view resolution.locale以及theme resolution来处理请求并且

Spring MVC 框架搭建及详解

一.Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar.spring-webmvc.jar.commons-logging.jar.cglib-nodep-2.1_3.jar Hibernate 3.6.8:hibernate3.jar.hibernate-jpa-2.0-api-1.0.1.Final.jar.antlr-2.7.6.jar.commons-collections-3

spring mvc踩坑记

前言 主要介绍自己在学习spring mvc过程中踩到的一些坑,涉及到当时遇到这个错误是如何思考的,对思路进行总结,下次遇到类似的错误能够提供一些思路甚至快速解决. 环境准备 jdk8,spring4.3.3.RELEASE,spring mvc与spring版本一致,maven3.2.5,tomcat7 目标: 1.测试spring mvc的json参数绑定功能 2.测试spring mvc的返回json功能 项目目录(已经推送到github:https://github.com/Coming