springmvc和其他mvc框架的区别

作者&投稿:濮闻 (若有异议请与网页底部的电邮联系)
~

springmvc和其他mvc框架的区别

spring 是是一个开源框架,是为了解决企业应用程序开发,功能如下
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
Spring的两大核心AOP与IOC,可以单独用于任何应用,包括与Struts等MVC框架与Hibernate等ORM框架的集成,目前很多公司所谓的轻量级开发就是用 Spring + Struts(2)+Hibernate。
Spring MVC就是一个MVC框架,个人觉得Spring MVC annotation式的开发比Struts2方便,可以直接代替上面的Struts(当然Struts的做为一个非常成熟的MVC,功能上感觉还是比Spring强一点,不过Spring MVC已经足够用了)。当然spring mvc的执行效率比struts高,是因为struts的值栈影响效率
spring mvc类似于struts的一个MVC开框架,其实都是属于spring,spring mvc需要有spring的架包作为支撑才能跑起来
如果有人问你什么事控制反转(spring的核心面试常问道):你就回答,本来程序是由我们new 出来的嘛,后来交给程序控制进行new出来了嘛,这就是控制反转嘛,打了那么多手都麻了,看在我那么辛苦的份上给分吧

简单概括就是:spring 是一个开源框架,是为了解决企业应用程序发开发,spring mvc类似于struts的一个MVC开发框架,其实都是属于spring,spring mvc需要有spring的架包作为支撑才能跑起来。

springmvc和其他mvc框架有什么区别?

  1. spring 是是一个开源框架,是为了解决企业应用程序开发;

  2. 目的:解决企业应用开发的复杂性;

  3. 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能;

  4. 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

  5. 轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。

  6. Spring MVC就是一个MVC框架,个人觉得Spring MVC annotation式的开发比Struts2方便,可以直接代替上面的Struts(当然Struts的做为一个非常成熟的MVC,功能上感觉还是比Spring强一点,不过Spring MVC已经足够用了)。当然spring mvc的执行效率比struts高,是因为struts的值栈影响效率。

  7. spring mvc类似于struts的一个MVC开框架,其实都是属于spring,spring mvc需要有spring的架包作为支撑才能跑起来。

mvvm框架是什么 它和其他框架的区别

在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑。 MVC模型关注的是Model的不变,所以,在MVC模型里,Model不依赖于View,但是 View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。
MVVM在概念上是真正将页面与数据逻辑分离的模式,它把数据绑定工作放到一个JS里去实现,而这个JS文件的主要功能是完成数据的绑定,即把model绑定到UI的元素上。
有人做过测试:使用Angular(MVVM)代替Backbone(MVC)来开发,代码可以减少一半。
此外,MVVM另一个重要特性,双向绑定。它更方便你同时维护页面上都依赖于某个字段的N个区域,而不用手动更新它们。

ty 和 springmvc框架的区别

没错,是框架,ty是网络通讯的框架,spring mvc是一个开源框架,是为了解决企业应用程序开发

前端框架和mvc框架的区别

前端框架是专门写前端的,比如一个前端框架,一部分负责前台的布局结构(),一部分样式(css),一部分行为(js、jq);mvc是一种设计思想,就是让结构,表现,行为互相分离。

MVC框架:前端请求-》服务端处理请求-》服务端生成HTML页面-》响应给前段展示。
前端框架:前端请求、接收服务端数据对其进行处理。你可以明确看出,前端框架是不包含服务端处理请求功能的。

同是流行MVC框架,比较Strtus2和SpringMVC的区别

Struts2是精确到类粒度,springMVC精确到方法粒度,两者的用法也有所区别,springMVC和spring集成得比较好,在spring的管理下,springMVC的实例是以单例的形式存在的,但Struts2如果以单例存在的话就会有线程安全问题。个人比较喜欢springMVC

SpringMVC的工作流程描述
1. 用户向服务器发送请求,请求被Spring前端控制Servelt DispatcherServlet捕获;
2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用
HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以
HandlerExecutionChain对象的形式返回;
3. DispatcherServlet根据获得的Handler,选择一个合适的HandlerAdapter。( 附注 :如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)
4. 提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:
HttpMessageConveter:将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息
数据转换:对请求消息进行数据转换。如String转换成Integer、Double等
数据根式化:对请求消息进行数据格式化。如将字符串转换成格式化数字或格式化日期等
数据验证:验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中
5. Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;
6. 根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;
7. ViewResolver结合Model和View,来渲染视图
8.将渲染结果返回给客户端。
Strut2的体系结构如图所示:
从图可以看出,一个请求在Struts2框架中的处理大概分为以下几个步骤:
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMeshPlugin);
3、接着StrutsPrepareAndExecuteFilter被调用,StrutsPrepareAndExecuteFilter询问ActionMapper来决定这个请求是否需要调用某个Action;
4、如果ActionMapper决定需要调用某个Action,StrutsPrepareAndExecuteFilter把请求的处理交给ActionProxy;
5、ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类;
6、ActionProxy创建一个ActionInvocation的实例。
7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回
结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用
Struts2框架中继承的标签。在这个过程中需要涉及到ActionMapper。
以上是从宏观上对比下二者的工作流程,下面针对细节对比二者的不同。
SpringMVC和Struts2的区别:
1. 机制:
springmvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。
spr ing mvc是基于方法的设计 , 而sturts是基于类 ,导致:
性能:
spring会稍微比struts快。 spring mvc是基于方法的设计 , 而sturts是基于类 ,
每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据
一样。spring3mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去,在spring3mvc中,一个方法对应一
个request上下文。而struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用settergetter方法把
request中的数据注入; struts2实际上是通过setter getter方法与request打交道的 ,而 springmvc 不用 setter getter 方法 ;struts2中,一个Action对象对应一个request上下文。
实现restful:
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上 spring3 mvc就容易实现restful url 。 struts2 是类级别的拦截,一个类对应一个 request 上下文;实现 restfulurl 要费劲,因为 struts2 action 的一个方法可以对应一个 url ;而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了。
数据共享:
struts是在接受参数的时候,可以用属性来接受参数,这就说明参数是让多个方法共享的。
spring3 mvc的方法之间基本上独立的,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架方法之间不共享变量
处理ajax的请求
spring3 mvc的验证也是一个亮点,支持JSR303, 处理ajax的请求更是方便 ,只需一个注解 @ResponseBody ,然后直接返回响应文本即可。送上一段代码:
<span class="page_speeder_689312681">@ResponseBody
@RequestMapping("/delUser")
public String delUser(String id, HttpServletResponse response){
String result ="{\"result\":\"error\"}";
if (userManager.delUser(id)) {
result ="{\"result\":\"suess\"}";
}

return result;

spring3mvc的验证也是一个亮点,支持JSR303,处理ajax的请求更是方便,只需一个注解@ResponseBody
@ResponseBody代替了下面的代码

PrintWriterout = null;
response.setContentType("application/json");

try{
out= response.getWriter();
out.write(result);
}catch (IOException e) {
e.printStackTrace();
}
}</span>
i ntercepter的实现机制:
struts有以自己的interceptor机制, springmvc用的是独立的AOP方式 。这样导致struts的配置文件量还是比springmvc大,虽然struts的配置能继承,所以我觉得论使用上来讲,spring mvc使用更加简洁,开发效率Spring MVC确实比struts2高。




spring-webmvc和spring-web有什么区别
1、定义不同 spring-web是一个一站式的框架,提供了表现层(springmvc)到业务层(spring)再到数据层的全套解决方案;spring的两大核心IOC(控制反转)和AOP(面向切面编程)更是给我们的程序解耦和代码的简介提供了支持。而Spring-webMVC是基于Spring功能之上添加的Web框架,想用pring-webMVC必须先依赖pri...

8,springmvc默认支持的参数类型有哪些?分别有什么作用
pringMVC默认支持的绑定类型有:HttpServletReequest对象:通过request对象可以获取参数信息 HttpservletResponse对象:通过response对象可以处理响应信息 HTTPSession对象:获取session中存储的对象 Model\/ModelMap:Model是一个接口,ModelMap是一个接口的实现。作用是将模型数据填充到request域。简单类型的参数绑定:...

java系统架构有哪些apache
java系统架构有一下几种:_ava框架 一、Spring框架。 Spring框架是Java后端框架家族中最强大的,拥有IOC和AOP两大利器,简化了开发的复杂性。此外,Spring现在可以与所有主流开发框架集成,这是一个通用框架。Spring使Java开发变得简单。?2.SpringMVC框架。 它是MVC的开源框架,用来代替Struts,是Spring项目...

SpringMVC中的@Transaction怎么使用,有什么作用
首先 @Transaction 是属于 Spring部分的 下面来说说使用 spring中的@Transaction配置详解 1、Spring默认Transactional事物管理机制 如果程序抛出的是运行期例外,则数据回滚 事物处理 如果是重新Exception例外,则数据不会滚。可以通过配置修改该规则 Transactional(noRollbackFor=RuntimeException.class)方法事物说明...

Spring功能总结
Spring MVC框架支持:一个全功能的构建 Web 应用程序的 MVC 实现,MVC 容纳了大量视图技术,其中包括 JSP、Velocity等。Spring Dao支持:Spring的Dao支持大大的简化了JDBC操作数据库所带来的繁琐 Spring ORM支持 pring框架集成了若干ORM框架,从而提供了ORM的对象关系工具,其中包括 JDO、Hibernate、iBatis和To...

Spring boot 与 Spring cloud 是什么关系
pring boot 我理解就是把spring spring mvc spring data jpa 等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种starter,来方便开发者使用这一系列的技术,套用官方的一句话,spring 家族发展到今天,已经很庞大了,作为一个开发者,如果想要使用spring 家族一系列的...

SpringBoot系列:springdevtools模块
spring-boot-devtools是Spring Boot给开发人员提供的一个工具包,它可以提高开发人员的工作效率。我们可以通过如下方式引入该工具包:Maven Gradle 有些SpringBoot支持的库使用了缓存技术来提高性能。比如模板引擎会对编译好的模板进行缓存从而避免每次都要解析模板文件;Spring MVC也会为静态文件缓存一些Http的...

一个简单的SpringMVC需要哪些jar包
spring-aop-3.1.0.RELEASE.jar aopalliance-1.0.jar spring-beans-3.1.0.RELEASE.jar pring-core-3.1.0.RELEASE.jar spring-expression-3.1.0.RELEASE.jar spring-asm-3.1.0.RELEASE.jar spring-webmvc-3.1.0.RELEASE.jar spring-context-support-3.1.0.RELEASE.jar spring-web-3.1....

求Spring MVC框架的所有jar包.在哪里有下载全部的?
servlet-api-2.5.jar jsp-api-2.1.jar jstl-1.2.jar junit-4.7.jar 这个是我的一个简单SPRING MVC的所有的包,我是用的SpringSource直接新建一个Spring Template Project ———Spring MVC Project,里面就直接带齐了所需要的包了的 SpringSource是Eclipse的插件版,和MyEclipse类似的东西 ...

maven是基于spring框架吗
struts是基于mvc框架的吗 MVC全名是Model View Controller,是模型(model)-检视(view)-控制器(controller)的缩写 而Struts就是MVC中的C的角色,因为他主要是负责ACTION,处理各种请求。关于Spring框架 struts spring hibernate 是java web的开源框架。 一般开发的话IDE用到的都是eclipse,web开发会...

会宁县18847102548: springmvc和其他mvc框架的区别 -
寇到鸦胆: 简单概括就是:spring 是一个开源框架,是为了解决企业应用程序发开发,spring mvc类似于struts的一个MVC开发框架,其实都是属于spring,spring mvc需要有spring的架包作为支撑才能跑起来.

会宁县18847102548: spring MVC跟struts MVC的区别 -
寇到鸦胆: 基于Web的MVC framework在J2EE的世界内已是空前繁荣.TTS网站上几乎每隔一两个星期就会有新的MVC框架发布.目前比较好的MVC,老牌的有Struts、Webwork.新兴的MVC框架有Spring MVC、Tapestry、JSF等.这些大多是著名团队...

会宁县18847102548: 常用的MVC框架有哪些 -
寇到鸦胆: 常用的MVC框架有JSP + servlet + javabean的模式. MVC模式的某种框架,它强制性的使应用程序的输入、处理和输出分开.使用MVC应用程序被分成三个核心部件:模型、视图、控制器.它们各自处理自己的任务.最典型的MVC就是JSP ...

会宁县18847102548: spring和spring mvc使用上的区别 -
寇到鸦胆: 问题很简单,只要用过就很很明白了,没用过的话,只能简述一下.1、ssh中的spring充当的是mvc中的model的职能,他也可以集成hibernate等,但它不提供hibernate的功能,仅为集成.2、spring mvc是mvc架构的整体实现,包括了mvc三项框架,有了它你就不需要再去集成struts和hibernate了,都是由它自己提供.不知清楚否.

会宁县18847102548: spring mvc是什么? -
寇到鸦胆: spring mvc属于springframework的后续产品,已经融合在spring web flow里面.spring 框架提供了构建 web 应用程序的全功能 mvc 模块.使用 spring 可插入的 mvc架构,从而在使用spring进行web开发时,可以选择使用spring的springmvc框架或集成其他mvc开发框架,如struts1,struts2等.

会宁县18847102548: spring mvc 是什么 -
寇到鸦胆: Spring Web MVC的工作流程如下: 1. 浏览器发出spring mvc请求,请求交给前端控制器DispatcherServlet处理. 2. 控制器通过HandlerMapping维护的请求和Controller映射信息,找到相应的Controller组件处理请求. 3. 执行Controller组件约定方法处理请求,在约定方法中可以调用Service和DAO等组件完成数据库操作.约定方法可以返回一个ModelAndView对象,封装了模型数据和视图名称信息. 4. 控制器接收ModelAndView之后,调用ViewResolver组件,定位View的JSP并传递Model信息,生成响应界面结果.

会宁县18847102548: spring 和springMVC的区别 -
寇到鸦胆: springmvc只是spring其中的一部分. spring 可以 支持 hibernate ,ibatis ,JMS,JDBC支持事务管理, 注解功能,表达式语言,测试 springmvc 就是一个简单的web 框架,上手很快,可以代替SSH框架.springmvc 比 struts2 性能优一些.

会宁县18847102548: 同是流行MVC框架,比较Strtus2和SpringMVC的区别 -
寇到鸦胆: 同是流行MVC框架,比较Strtus2和SpringMVC的区别Struts2和SpringMVC是比较流行的MVC框架,二者的工作流程大体相似,从下面两张图就可以看出. SpringMVC工作流程图.

会宁县18847102548: spring的MVC好在哪里?spring很强大,但其MVC接触
寇到鸦胆: 没有什么好不好的, 只是为你提供了进行mvc开发的基本框架,是你更加方便的实现mvc的思想 很多这样的框架:struts、jsf等就是最著名的一个 不要纠结这些,首先要掌握java的web开发基本原理、 然后学习mvc思想,自己动手按照mvc思想做个小程序; 然后学习spring、struts、jsf等等,这些没有本质区别,只要知道他们的实现机理 使用起来很简单

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网