面试官问道:有了stuts的mvc为什么还要spring的mvc ,你觉得spring有什么不爽的地方?
个人觉得两者之间的区别还是比较明显的,先说一下他们的共同点:
1.都是mvc框架;
2.感觉struts的action类似于spring的ioc,都是使用java反射机制来实现的依赖注入;
3.struts2的拦截器使用也类似于spring的aop,都是通过动态代理实现的;
他们的区别,在我看来有如下:
1.配置不一样(这点就不多说了)
2.spring的控制器对象的处理请求方法需要带有HttpServletRequest和HttpServletResponse参数,这样不便于调试;
3.参数的接收,在struts2中通过set方法就实现了,而spring
则取药显式的去从request中获取,另外参数的传递也比较方便;
4.struts2处理请求的返回页比较方便,通过acction的返回的结果名称,定位返回的页面或者重定向到另一个action
5.struts2
同时提供了对于请求变量的校验和类型的转换;
6.
我觉得spring在mvc框架中相对于struts2的优势在于它的IOC,struts2只是注入action,而spring可以将更多的bean注入到这个action中;
综上所述,
springmvc较struts2更轻量,但是没有struts2在mvc方面功能强大
两者不可同日而语
前者是
web界经典的mvc框架系Apache软件基金下Jakarta项目的一部分,主要架构设计
和开发者是Craig R.McClanahan,到现在已经将近8年时间了
后者是Rod Johnson 是对《Expert One-on-One J2EE Design and Development》一书中所阐述的设计思想的具体实现,基于interface21 开发包引入了IOC、AOP等重要思想的轻量级框架。
分享到:
相关推荐
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...
Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。...
这是一个基于Spring MVC、Mybatis和Spring框架实现的个人博客系统,涵盖了Web开发中的后端架构设计、数据库管理和前端展示等多个方面。以下将详细介绍这个系统的关键知识点: **1. Spring MVC** Spring MVC是Spring...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一个重要模块,主要用于构建 Web 应用程序的后端控制层。这个框架提供了模型-视图-控制器(MVC)设计模式的实现,简化了Java Web应用的开发...