`

SpringMVC and Struts2

阅读更多
SpringMVC  VS Struts2

1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现restful url 
而struts2的架构实现起来要费劲
因为struts2 action的一个方法可以对应一个url
而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了  
4:
spring3mvc的方法之间基本上独立的,独享request response数据
请求数据通过参数获取,处理结果通过ModelMap交回给框架
方法之间不共享变量
而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的
这不会影响程序运行,却给我们编码 读程序时带来麻烦 
5:
由于Struts2需要针对每个Request进行封装,把Request,Session等Servlet生命周期的变量封装成
一个一个Map,供给每个Action使用,并保证线程安全。所以在原则上,是比较耗费内存的

6:
从性能和运行速度来看的话,springMVC性能要稍微比struts2好一点!


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
http://wenku.baidu.com/link?url=a3Pq7B1cyfv959lAcrNdtoXe5_lZ_T8r5rHr-_5wj0Db8JzzcZ7WTde
jNCPt4IrBjn0EQBFYvb25wEvPUcLYWdBTGBa4UsG34dqvhV2LMoG



分享到:
评论

相关推荐

    springmvc和strut2实现上传下载示例

    在Java Web开发中,Spring MVC和Struts2都是流行的MVC框架,用于构建高效、可维护的Web应用程序。本文将详细讲解如何利用这两个框架实现图片的上传与下载功能。 首先,我们来了解一下Spring MVC和Struts2的基础知识...

    struts2_课堂讲义

    Struts1、WebWork、Struts2、SpringMVC等都是基于MVC模式的框架,其中Struts2因其丰富的拦截器机制和类型转换功能而受到开发者青睐。 #### 8. Struts+Spring+Hibernate(SSH) SSH是Struts、Spring和Hibernate三个...

    SpringMVC整合jdbc+json

    2. **JDBC(Java Database Connectivity)**:JDBC是Java编程语言连接数据库的标准接口,用于执行SQL语句和管理数据库连接。在SpringMVC项目中,通常会通过`JdbcTemplate`或`NamedParameterJdbcTemplate`来简化JDBC...

    Framework:个人学习J2EE SSHM框架的小演示,包括Struts2,SpringMVC,Hibernate,Mybatis,Spring,EasyUI,Ajax等。

    标题和描述中提到的"Framework:个人学习J2EE SSHM框架的小演示",指的是一个基于Java企业级应用开发(J2EE)的学习项目,该项目涵盖了多个主流的Java Web框架,包括Struts2、SpringMVC、Hibernate、Mybatis、Spring...

    java常用框架学习笔记

    Struts2的拦截器用于在请求处理前后执行某些操作,可以自定义拦截器来扩展Struts2的功能。 ##### 9.9 文件上传 Struts2提供了文件上传的支持,可以通过`File`类型的字段来接收上传的文件。 ##### 9.10 防止表单...

    spring+MVC+springMVC

    Struts2的性能问题主要源于OGNL表达式语言和值栈,这两者在处理大量并发请求时可能成为瓶颈。 Spring MVC的配置通常分为两部分:一部分是Spring的核心配置,涉及Bean的定义和依赖注入;另一部分是Spring MVC的特定...

    在maven+ssm&ssh;中使用ajax处理json数据

    在现代Web开发中,Maven、Struts2、Spring、SpringMVC、MyBatis等技术是构建企业级应用的常见组合。这篇文章将探讨如何在SSM(Spring、SpringMVC、MyBatis)和SSH(Struts2、Spring、Hibernate)框架下,通过Ajax...

    springMVC基础原理

    - **Struts2**:Struts2 采用拦截器架构,其核心控制器实现了 Servlet 规范中的 Filter 接口。 - **Spring MVC**:基于 Spring 框架,利用 Spring 的依赖注入和面向切面编程等特性来简化 Web 层开发。Spring MVC 的...

    SpringMVC3.1.0+Spring3.1.0+Hibernate3+AJAX转换包

    这是一个基于SSH(Apache Struts、Spring和Hibernate)框架的老版本集成开发环境,但在此案例中,"SSH"指的是SpringMVC、Spring和Hibernate的组合,而非传统的Struts。这个压缩包包含的是SpringMVC 3.1.0、Spring ...

    maven spring springmvc sqlyog myeclipse tomcat

    【标题】"maven spring springmvc sqlyog myeclipse tomcat" 描述了Web开发中的关键技术和工具,包括项目管理、框架、数据库管理、IDE和应用服务器。 **Maven** 是一个Java项目管理和集成工具,它通过POM(Project ...

    16.spring与springmvc常见面试题.docx

    具体可以在下面的场景中使用:Authentication 权限、Caching 缓存、Context passing 内容传递、Error handling 错误处理、Lazy loading 懒加载、Debugging 调试、logging, tracing, profiling and monitoring 记录...

    基于SSM+mysql的企业人事管理系统源码数据库论文.doc

    The integration of the SSH (Struts2, Spring, Hibernate) framework enhances the system's functionality, providing a structured approach to web application development with powerful features for ...

    java必备知识点大全.pdf

    SpringMVC、struts1和struts2区别:SpringMVC与Struts1和Struts2的主要区别在于它们的控制反转(IOC)和面向切面编程(AOP)。 Struts2中result中的type类型:Struts2中result可以是 dispatcher、chain、redirect、...

    Spring.MVC.Beginner's.Guide.2nd.Edition.2016.7.pdf

    Also, Spring can integrate effortlessly with other popular web frameworks such as Struts, WebWork, Java Server Faces, and Tapestry. The book progressively teaches you to configure the Spring ...

    尚硅谷-佟刚_Spring

    5. **Spring与Struts2集成**:"Spring3.0-Struts2"涵盖了Spring如何与流行MVC框架Struts2协作,提升应用的架构效率。Struts2的Action类可以被Spring管理,实现依赖注入,提高可测试性。 6. **Spring AOP**:在...

    javaweb 实现的图书管理系统

    SpringMVC或Struts2等框架可以帮助简化开发流程。 - **数据访问层**:使用Java Persistence API (JPA) 或 Hibernate 进行对象关系映射(ORM),使得Java对象可以直接与数据库表进行交互,减少手动编写SQL语句的工作...

    java面试总结

    10. **Struts2与SpringMVC**: - 性能:SpringMVC基于方法,比基于类的Struts更快。 - RESTful实现:SpringMVC支持方法级别拦截,更适合RESTful API。 - 数据共享:SpringMVC方法间不共享变量,而Struts2可以通过...

Global site tag (gtag.js) - Google Analytics