springmvc和struts2的区别

1、springmvc基于方法开发的,struts2基于类开发的。

2、单例和多例的区别:springmvc在映射的时候,通过形参来接收参数的,是将url和controller方法映射,映射成功后,springmvc生成一个handlers对象,对象中只包括一个method,方法执行结束的时候,形参的数据就销毁,

所以springmvc可以进行单例开发,并且建议使用。

但是structs接收的参数是通过类的成员变量来接收的,这些变量在多线程访问中,是共享的,而不是像springmvc那样,方法结束之后,形参自动销毁,且无法使用单例,只能使用多例。

这样的话,在structs中,随着方法的添加,很多的成员变量,维护到最后的时候根本就不知道这个成员变量被哪个方式所使用,所以springmvc开发类似于service开发。

3、经过实际测试,structs速度慢,在与使用structs标签,如果使用structs建议使用jstl。

springmvc和struts2的区别的更多相关文章

  1. SpringMVC 和Struts2的区别

    SpringMVC 和Struts2的区别 1. 机制: spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同. 2. 性能: spring会稍微比s ...

  2. JAVAEE——SpringMVC第一天:介绍、入门程序、架构讲解、SpringMVC整合MyBatis、参数绑定、SpringMVC和Struts2的区别

    1. 学习计划   第一天 1.SpringMVC介绍 2.入门程序 3.SpringMVC架构讲解 a) 框架结构 b) 组件说明 4.SpringMVC整合MyBatis 5.参数绑定 a) Sp ...

  3. SpringMVC和Struts2的区别及优势

    1.SpringMVC和Struts2的区别比较 1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方 ...

  4. SpringMVC跟Struts2的区别

    SpringMVC跟Struts2的区别 1.SpringMVC的入口是servlet:Struts2的入口是Filter. 2.SpringMVC性能方面会比Struts2好一点,SpringMVC ...

  5. SpringMVC 和 Struts2的区别

    SpringMVC 和 Struts2的区别   1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方 ...

  6. 传递集合参数以及SpringMVC和Struts2的区别

    一.传递集合参数 二.和Struts2的区别 Struts2是基于类封装请求参数,SpringMVC是基于方法封装参数:

  7. SpringMVC与Struts2配置区别

     Spring MVC模型与Struts2模型应用:  Html表单: 上述这两段代码无论是SpringMVC还是Struts2,都可以共用.而在请求响应处理类(也就是Controller)上的设计差 ...

  8. 开源框架SpringMvc和Struts2的区别

    1.机制 spring mvc 和 struts2的加载机制不同:spring mvc的入口是servlet,而struts2是filter:(servlet和filter的区别?) 2.性能 spr ...

  9. springmvc和struts2的区别比较

    1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上Spr ...

随机推荐

  1. cssRules在不同浏览器中的兼容性

    在一份HTML文档中可以用三种方式添加样式信息: 1.通过<link>元素引用外部样式表: 2.通过<style>元素在文档的头部添加样式信息: 3.在具体的文档元素上通过st ...

  2. WebApp上滑加载数据...

    $(window).bind("scroll", function () { if ($(document).scrollTop() + $(window).height() &g ...

  3. SpringMVC 参数注入

    写一个web service, 总是400. 说是request有问题,server不识别.然而检查了很多次都没问题.最终问题指向spring对参数的解析和注入. 一个controller中可以自定义 ...

  4. jQuery-1.9.1源码分析系列(六) 延时对象应用——jQuery.ready

    还记不记得jQuery初始化函数jQuery.fn.init中有这样是一个分支 //document ready简便写法$(function(){…}) } else if ( jQuery.isFu ...

  5. 创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图

    创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图 创建CRUD动作方法及视图 参照VS自带的基架(Scaffold)系统-MVC Controller with view ...

  6. Linux环境中Openfire安装指南

    Linux环境中Openfire安装指南 安装环境: 安装软件:Openfire 4_1_0 http://download.igniterealtime.org/openfire/openfire_ ...

  7. C# 删除字符串中的中文

    /// <summary> /// 删除字符串中的中文 /// </summary> public static string Delete中文(string str) { s ...

  8. iOS学习笔记——AutoLayout的约束

    iOS学习笔记——AutoLayout约束 之前在开发iOS app时一直以为苹果的布局是绝对布局,在IB中拖拉控件运行或者直接使用代码去调整控件都会发上一些不尽人意的结果,后来发现iOS在引入了Au ...

  9. error when loading the sdk error parsing

    Error Parsing: C:\android-sdk_r24.2-windows\android-sdk-windows\system-images\android-22\android-wea ...

  10. Java并发编程:Thread类的使用

    Java并发编程:Thread类的使用 在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知 ...