`

MVC面试题:有了stuts的mvc为什么还要spring的mvc

阅读更多
今天一同学 去面试 关于mvc的面试题

面试官问道:有了stuts的mvc为什么还要spring的mvc ,你觉得spring有什么不爽的地方?

我同学一时哑了   想了半天不知道该怎么说 乱七八糟说了一通  面试官说  please get out !

大家有什么要说的没
分享到:
评论
71 楼 stone0660 2010-11-25  

最近用到了一个公司基于SpringMVC封装的框架,
最大的感受就是SpringMVC对于View的支持很广泛。
比如支持Velocity View, 基于Castor的XML View等等。

StrutsMVC(至少ver1.x)好像只能支持JSP。

关于SpringMVC,springsource上有如下说法:
http://forum.springsource.org/showthread.php?t=16553

1. Spring provides a very clean division between controllers, JavaBean models, and views.
2. Spring's MVC is very flexible. Unlike Struts, which forces your Action and Form objects into concrete inheritance (thus taking away your single shot at concrete inheritance in Java), Spring MVC is entirely based on interfaces. Furthermore, just about every part of the Spring MVC framework is configurable via plugging in your own interface. Of course we also provide convenience classes as an implementation option.
3. Spring, like WebWork, provides interceptors as well as controllers, making it easy to factor out behavior common to the handling of many requests.
4. Spring MVC is truly view-agnostic. You don't get pushed to use JSP if you don't want to; you can use Velocity, XLST or other view technologies. If you want to use a custom view mechanism - for example, your own templating language - you can easily implement the Spring View interface to integrate it.
5. Spring Controllers are configured via IoC like any other objects. This makes them easy to test, and beautifully integrated with other objects managed by Spring.
6. Spring MVC web tiers are typically easier to test than Struts web tiers, due to the avoidance of forced concrete inheritance and explicit dependence of controllers on the dispatcher servlet.
7. The web tier becomes a thin layer on top of a business object layer. This encourages good practice. Struts and other dedicated web frameworks leave you on your own in implementing your business objects; Spring provides an integrated framework for all tiers of your application.
70 楼 mopishv0 2010-11-25  
因为可以使用SPRING的一站式解决方案
69 楼 mysoko 2010-11-25  
面试官傻x
68 楼 wenxiang_tune 2010-11-25  
jayo 写道
面试官水平不行啊,把一个问题表达成这样也是需要勇气的!

有笑点。。
说白了,技术上还是不过关。被OUT的结局是难免的。。
67 楼 lzmhehe 2010-09-09  
mengqingyu 写道
有了struts mvc可以不用spring mvc  反之一样,spring mvc不爽的地方就是不如struts 接前台传来的参数方便,struts可以直接定义多个成员变量通过set方法来接参数,多个方法可以共享变量,但spring每个方法只能定义一个对象来接受前台参数而且仅仅是局部变量。


spring mvc 如果不要 annotation 可以直接吧参数转换成bean
public ModelAndView yourMethod(HttpServletRequest req, HttpServletResponse res,Object obj) 

使用annotation 可以使用
@ModelAttribute
66 楼 whao189 2010-09-09  
一个麦当劳 。。一个肯德基

都是 相互模仿相互学习。。。。。弥补 对方的不足 是自己更完美!!!
65 楼 pengzhoushuo 2010-09-03  
1. Spring的MVC入口是一个Servlet,而Struts是Filter,这样就导致了它们之间不同的机制。
2. Struts是基于类的设计,而Spring是基于方法的。一般来说,Struts中每个请求都会实例化一个action,每个action属性会被注入参数,这种设计注定了要支持Rest的时候要费一番文章,而Spring是基于方法的,粒度更细,但要小心把控就像在Servlet中控制数据一样谨慎。
3.Struts是一个大胆的设计,更加符合OOP编程风格,Spring则比较谨慎,更严格地说是Servlet的扩展。性能上struts要稍差于Spring,毕竟每实例化一个对象是需要时间的,但是在现代应用中,在数据库,webService充斥的今天,这点性能消耗根本就只是个零头。
64 楼 jiasky 2010-09-02  
“please get out!”此面试也太不客气了吧,难道是你那同事跟面试官大吵了一架?
63 楼 javaliver 2010-09-02  
wangweiwei358 写道
mengqingyu 写道
有了struts mvc可以不用spring mvc  反之一样,spring mvc不爽的地方就是不如struts 接前台传来的参数方便,struts可以直接定义多个成员变量通过set方法来接参数,多个方法可以共享变量,但spring每个方法只能定义一个对象来接受前台参数而且仅仅是局部变量。

弱弱的问一句,你这样说,确定是对的吗?
怀疑你没有用过Spring mvc,或者只是只做了一个Demo。
小弟技术水平低,如有冒犯,请见谅。




wangweiwei358?
说说你的理解 ?    
62 楼 javaliver 2010-09-02  
笑我痴狂 写道
各位  这里说一下    不是spring mvc不爽的地方是什么  而是  spring 有什么不爽的地方  是我没说清楚


楼主的这句话 好好研究研究     到底什么不爽   
61 楼 笑我痴狂 2010-08-01  
各位  这里说一下    不是spring mvc不爽的地方是什么  而是  spring 有什么不爽的地方  是我没说清楚
60 楼 wangweiwei358 2010-08-01  
mengqingyu 写道
有了struts mvc可以不用spring mvc  反之一样,spring mvc不爽的地方就是不如struts 接前台传来的参数方便,struts可以直接定义多个成员变量通过set方法来接参数,多个方法可以共享变量,但spring每个方法只能定义一个对象来接受前台参数而且仅仅是局部变量。

弱弱的问一句,你这样说,确定是对的吗?
怀疑你没有用过Spring mvc,或者只是只做了一个Demo。
小弟技术水平低,如有冒犯,请见谅。

59 楼 deng_1987 2010-08-01  
Spring 侵入性低撒。。。易于抽出 。。说地不是很专业
58 楼 hyj0903 2010-07-31  
我觉得去考虑spring mvc与struts mvc的好坏,还不如拿自己去比较
57 楼 downpour 2010-07-30  
SeanHe 写道
kaowww153 写道
SeanHe 写道
用过spring mvc 就知道它比struts2 要爽很多,而且据论坛里的朋友测试Spring mvc的性能也优于struts2

在没有官方声明前,不要妄下结论。

请看一下这个帖子http://www.iteye.com/topic/679543
这个帖子的测试方法虽然不一定完全正确,但是说明在作者的场景下是存在这个问题的。
还有就是OGNL的问题了,这个我就不“妄下结论”了,感兴趣的朋友自己查查资料吧


这个帖子的测试方法正确吗?你亲自证实过嘛?我可以很负责任的告诉你,它的结论是错误的,因为它的测试方法就是错的。
56 楼 hackpro 2010-07-30  
用Struts 就像看王楠打球,王楠的球风混厚,但退役,但依旧还有很多球迷。
而用spring 就像看马琳打球,球风细腻,绯闻也不少
致于看点在哪儿,大家都明白吧!
55 楼 SeanHe 2010-07-29  
kaowww153 写道
SeanHe 写道
用过spring mvc 就知道它比struts2 要爽很多,而且据论坛里的朋友测试Spring mvc的性能也优于struts2

在没有官方声明前,不要妄下结论。

请看一下这个帖子http://www.iteye.com/topic/679543
这个帖子的测试方法虽然不一定完全正确,但是说明在作者的场景下是存在这个问题的。
还有就是OGNL的问题了,这个我就不“妄下结论”了,感兴趣的朋友自己查查资料吧
54 楼 kjj 2010-07-29  
downpour 写道
你可以反问它,你每天都要拉屎,为什么还要吃饭?

应该问他,你为什么有时候拉稀,有时候拉得不稀
53 楼 mercyblitz 2010-07-29  
yuliu312832473 写道
struts  mvc是很强大的  但是在事物 ,等一些切面问题上很差  ,用spring可以管理事物



Struts MVC 怎么去和Spring去比较呢,一个表示层的东西和一个IoC容器比较没有意义。
52 楼 J-catTeam 2010-07-29  
http://www.iteye.com/topic/186969
这个帖子应该可以帮助你

相关推荐

    Stuts+Spring(郭克华)源码2

    Struts主要处理MVC(模型-视图-控制器)架构中的控制器部分,提供了一种组织和管理业务逻辑的方式,而Spring则是一个全面的后端框架,提供了依赖注入、面向切面编程以及对其他框架如Hibernate的集成。"Stuts+Spring...

    Stuts2+Spring+JDBC的配置

    Struts2、Spring和JDBC是Java开发中常用的三大技术框架,它们的集成可以构建一个高效、可维护的Web应用程序。下面将详细讲解这三者之间的配置及其重要性。 首先,Struts2是一个基于MVC(Model-View-Controller)...

    Stuts+Spring(郭克华)源码1

    Struts和Spring是两个在Java Web开发中广泛使用的框架,它们分别是MVC(Model-View-Controller)架构的实现和依赖注入(Dependency Injection,DI)及面向切面编程(Aspect-Oriented Programming,AOP)的工具。...

    Stuts +Spring + Hibernate整合简单项目开发

    Demo实现了Spring 管理Stuts 和hibernate 技术(内容很简单,适合初学者)我是因为下载一个没有分了,所以上传一个简单的Demo上去。功能实现了从数据库映射出数据;供参考,含数据.sql文件;(因为spring可以管理...

    spring 和stuts2整合

    整合 Spring 和 Struts2 的主要目标是实现 MVC(模型-视图-控制器)架构,其中 Spring 作为服务层和数据访问层的管理框架,Struts2 作为表现层的框架。以下是一些关键步骤和知识点: 1. **配置 Spring**:首先,你...

    spring+stuts+hibernate论坛BBS.

    标题 "spring+stuts+hibernate论坛BBS" 提示我们这是一个基于Java技术栈的Web应用程序,使用Spring、Struts和Hibernate这三个框架构建的在线论坛。这些框架在企业级应用开发中非常常见,用于实现模型-视图-控制器...

    Stuts+Spring

    Stuts+Spring

    stuts+spring+hibernate整合

    - **提升灵活性和可扩展性**: 业务逻辑交由Spring处理,数据访问交由Hibernate处理,这样的设计使得层次结构更加清晰,有助于系统的维护和扩展。 - **依赖注入**: 通过依赖注入(DI)和面向切面编程(AOP),Spring...

    STUTS.rar_stuts

    同学录应用通常包括用户管理、信息展示、交互等功能,这样的例子有助于学习者理解如何组织和实现 MVC 结构。 标签 "stuts" 明确地指出了这个项目与 Struts 框架相关。Struts 的核心特性包括: 1. **ActionServlet*...

    spring、mybatis、stuts2整合

    在Java企业级开发中,Spring、MyBatis和Struts2是三个非常重要的框架,它们分别负责不同层面的职责:Spring作为一个全能型框架,管理着应用的依赖注入和事务处理;MyBatis则是一个轻量级的持久层框架,简化了SQL操作...

    struts2,spring,mybatis汇总jar包下载

    Struts2、Spring和MyBatis是Java Web开发中的三个重要框架,它们分别负责MVC模式中的动作控制、依赖注入和持久层操作。这个压缩包包含的是一系列这些框架所需的库文件,便于开发者在自己的项目中集成和使用。 1. ...

    stuts2增删改查再送登录

    这个项目"stuts2增删改查再送登录"是基于Struts2、Hibernate和Spring三大核心技术构建的,旨在提供一个基础的CRUD(创建、读取、更新、删除)操作和用户登录功能的示例。以下将详细解析这个项目的知识点: 1. **...

    struts+spring

    Struts1.3是一款基于MVC(Model-View-Controller)设计模式的框架,主要用于控制应用程序的流程,而Spring2.5则是一个全面的轻量级应用框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,以及对其他框架的...

    stuts2 spring hibernate 集成

    完整的SSH集成,STRUTS2.0+SPRING 2.5+ HIBERNATE 3.6完美集成

    java超经典面试题

    Java作为一门广泛使用的编程语言,其面试题涵盖了众多领域,包括基础语法、面向对象、集合框架、多线程、异常处理、JVM内存管理、IO流、网络编程、设计模式、Spring框架、Struts框架、Tomcat服务器等。以下是对这些...

    Stuts入门---------Stuts入门

    - **清晰的架构**: Struts 基于 MVC(Model-View-Controller)设计模式,使得应用程序具有清晰的结构,易于维护和扩展。 - **广泛的采用**: Struts 在 Java Web 开发领域得到了广泛应用,尤其是在企业级应用中。 ...

    Stuts2+hibernate3.0+Spring3.0整合

    Struts2、Hibernate3.0和Spring3.0是Java Web开发中著名的三大框架,它们分别负责MVC模式中的Action层、持久化层和业务层管理。SSH整合是指将这三个框架集成到一起,以实现更高效、更灵活的Web应用开发。在本项目中...

    Stuts2.2.1+hibernate3.5.2+Spring 3.0.5框架 实现了增删改查

    这个框架实现了基本的增删改查 数据库为mysql 所有jar包都全 自己手动搭的 平台是myeclipse6.0 不是很专业 但是完全能用 希望对大家有所帮助 包中数据库文件 和说明文档都全 大家可以自己看着弄

    struts2.2.3+spring3.0.1+hibernate3.6.5整合jar包

    Struts2、Spring和Hibernate是Java开发中三大主流框架,它们的组合被称为SSH(Struts2、Spring、Hibernate)集成,常用于构建企业级的Web应用程序。本篇将详细讲解这三个框架的核心概念、功能以及它们如何协同工作。...

    Stuts2-Spring3.X-Mybatis全xml配置项目包

    【Stuts2-Spring3.X-Mybatis全xml配置项目包】是一个集成开发环境下的Web应用项目,主要涉及三大核心技术:Struts2、Spring3.X和Mybatis。这个项目采用全XML配置方式,这意味着所有的配置信息,包括Struts2的动作...

Global site tag (gtag.js) - Google Analytics