前段时间与一名同事一起讨论起了spring mvc与struts,今天查看了相应的资料,,对其作了总结:
一,Struts2
1,每次请求(request)都会实例化一个控制类(Action),因为Model存在与Action中,即action是有状态的,所以每次请求都要实例化,而且struts2的设计者认为在强大的垃圾收集器下,用完就扔,并不会影响性能问题,而且还可以保证线程的安全问题.
2,自从struts2之后,里面的设计除了action之外,大部分功能都围绕着拦截器设计,如果称我们平常的逻辑为横性思维的话,拦截器提供了纵向思维扩展,在我们执行action时,可以任意提供其他的应用,有点像aop的味道....
3,至于struts2提供了很丰富的界面功能,,这点我觉的没必要比较,因为在大多数应用开发中,,大多数人在界面上都运用其他的第三方如jstl或者extjs等等...这个不作优势比较
4,稍微看了下源码,使用了代理(ActionProxy)以及反射机制进行(dispatch),有些人说这样的代理是最损耗性能,,,如上面的设计者所说每次都创建一个实例没事,更何况这个代理呢,,,在java企业应用时,大部分可以就架构而去性能..
二,spring mvc
1,也有提供拦截器,,但是提供的并没有sturts2完全以及强大
2,spring提供了annotation的注释,使我们更少的去配置xml,而且灵活度非常强,使开发起来更加便利
3,spring 提供的handleAdapter,可使servlet或者其他自己实现的接口替换进来,相当灵活
4,spring提供的mapping,action,view(jsp,velocity等),根据需要可以实现最大限度的灵活性
结:本人认为,综合了上述的内容,,
一个团队中决定使用哪种框架开发,应该取决于团队对某种框架的了解程度,,达到更高效的开发才最合适,,没有最好的框架,只有最适合的框架...
-----------------------------------------------------------------------------------------------------------
综上只是本人作的一些比较,,,如有错误可以提出指正.....
分享到:
相关推荐
**Struts2与Spring MVC比较:** 1. **灵活性**:Spring MVC允许更多的自定义,如自定义拦截器、视图解析器,而Struts2的扩展性相对弱些。 2. **依赖注入**:Spring MVC是Spring框架的一部分,天然支持DI,而Struts2...
spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 ...
### Struts 与 Spring MVC 的对比分析 #### Struts 概览 **Struts** 是一个基于 **MVC(Model-View-Controller)** 设计模式的开源框架,由 Apache 软件基金会维护,主要开发者为 Craig R. McClanahan。作为 Java ...
### Struts与Spring:两种MVC框架的比较 在Java Web开发领域中,MVC(Model-View-Controller)架构模式被广泛应用于构建灵活、可维护的Web应用程序。本文将对比分析Struts与Spring这两种流行的MVC框架,帮助开发者...
Spring MVC作为其Web层的一部分,与Struts相比,更加轻量级和灵活。Spring MVC通过DispatcherServlet作为入口点,处理HTTP请求,并通过配置或注解定义控制器(@Controller)。模型数据通常通过模型对象(Model或...
相较于Struts2,Spring MVC避免了一些可能导致性能下降的特性,如值栈、OGNL表达式等。 二、Spring MVC核心类与接口:Spring MVC架构中包含许多核心组件,如DispatcherServlet、HandlerMapping、Controller、...
Struts和Spring都是Java开发中常用的MVC框架,它们各自有着独特的特性和优势。Struts作为早期的王者,被广泛应用于各种项目,而Spring则以其全面的特性集和灵活的扩展性逐渐崭露头角。 Struts框架的核心是...
spring-webmvc-struts.jar对Struts和Spring整合时需要用到的包
此外,还会讲解Struts与Spring、Hibernate等其他流行框架的整合,形成强大的企业级应用解决方案。 在实际开发中,书中可能提供了"helloapp.rar"这个示例项目,用于演示基本的Struts应用搭建和运行过程。...
例如,Spring MVC与Hibernate4的组合适合大型企业级应用,而Struts2和MyBatis则可能更适合中小企业或初学者,因为它们的学习曲线相对较平缓。总之,理解并掌握这些框架的原理和使用方法,对于提升Java Web开发能力至...
1. 轻松学习:Spring MVC 的学习难度小于 Struts2 2. 高性能:Spring MVC 很容易就可以写出性能优秀的程序 3. 灵活性高:Spring MVC 的灵活性非常高,可以满足不同的需求 Spring MVC 是一个强大、灵活、Easy-to-use...
"spring-webmvc-struts"可能指的是Spring与Struts的集成包,Struts是另一个流行的Java Web MVC框架。这个库可能包含了一些桥接代码,帮助开发者将Spring的IoC(Inversion of Control,控制反转)和AOP功能与Struts的...
在Web开发中,Spring MVC作为Spring的一部分,提供了与Struts类似的MVC功能,但更加轻量级和灵活。 在"Struts,Spring登陆"的例子中,我们可能会看到以下几个关键知识点: 1. **整合配置**:首先,我们需要在Struts...
与Struts相比,Spring MVC更注重解耦,允许开发者自由选择视图技术。模型组件通过Spring的IoC容器管理,而控制器则由DispatcherServlet负责调度。此外,Spring MVC还支持RESTful风格的URL映射,使得API设计更加直观...
5. 整合Struts 2与Spring:通过Spring插件(struts2-spring-plugin)实现Struts 2 Action的依赖注入,或者在Struts 2中使用Spring的Action代理。 标签 "源码" 和 "工具" 暗示我们需要关注Struts和Spring的源代码...
Spring还提供了Spring MVC模块,可以与Struts2一起使用,或者单独作为Web层的框架。此外,Spring的事务管理功能使得在多层架构中处理数据库操作变得简单。 Hibernate是Java领域的一款对象关系映射(ORM)工具,它将...
这种方式最大的优势在于,Spring MVC与Spring框架无缝集成,无需额外的整合工作,同时提供了更丰富的特性,如数据绑定、视图解析等。 **具体步骤:** 1. **配置Spring MVC:** 在Spring配置文件中,配置...
- Talent MVC框架的介绍:包括其设计理念、目标用户群体、与Struts2和Spring MVC的对比。 - 框架安装和配置:指导如何将Talent MVC集成到现有项目中,包括Maven依赖的添加和基本的配置步骤。 - 控制器和路由:解释...