SpringMVC与struts2区别

作为表现层中控制器技术的两大掌门人,有哪些不同神功?

首先struts2是作为类级别的拦截,一个类对应一个request上下文.springmvc是作为方法级别拦截.一个方法对应一个request上下文,而方法同时又跟一个url对应.所以从架构本身上来说SpringMVC更容易实现restful url,而Struts2的架构实现起来就非常更费劲.因为struts2中的action一个方法可以对应一个url但是类属性却被所有方法共享.

在拦截器实现上 Struts2有自己的interceptor机制,SpringMVC用的是独立的aop方式.这导致struts2的配置量还是比springmvc大.

SpringMVC的入口是一个servlet  而struts2是filter这就是导致两者运行机制不同了.本值就是servelt和filter的区别了

1,servlet 流程是短的,url传来之后,就对其进行处理,之后返回或转向到某一自己指定的页面。它主要用来在 业务处理之前进行控制.
        2,filter 流程是线性的, url传来之后,检查之后,可保持原来的流程继续向下执行,被下一个filter, servlet接收等,而servlet 处理之后,不会继续向下传递。filter功能可用来保持流程继续按照原来的方式进行下去,或者主导流程,而servlet的功能主要用来主导流程。
         filter可用来进行字符编码的过滤,检测用户是否登陆的过滤,禁止页面缓存等

Springmvc 集成了ajax使用方便.只需要一个注解就可以实现,然后直接返回响应文本就可以了.而struts2拦截器集成了了ajax在action中处理是一般必须安装插件.或者自己写代码集成进去使用起来不方便.

springmvc开发效率以及及性能就是比struts2高很多

谈谈控制器技术SpringMVC与struts2的更多相关文章

  1. 终于有SpringMvc与Struts2的对比啦

    目前企业中使用SpringMvc的比例已经远远超过Struts2,那么两者到底有什么区别,是很多初学者比较关注的问题,下面我们就来对SpringMvc和Struts2进行各方面的比较: 1. 核 心控 ...

  2. 终于有SpringMvc与Struts2的对比啦(转)

    本文转自:http://www.itsource.cn/web/news/5/20150318/370.html 目前企业中使用SpringMvc的比例已经远远超过Struts2,那么两者到底有什么区 ...

  3. 最终有SpringMvc与Struts2的对照啦

    眼下企业中使用SpringMvc的比例已经远远超过Struts2,那么两者究竟有什么差别,是非常多刚開始学习的人比較关注的问题,以下我们就来对SpringMvc和Struts2进行各方面的比較: 1. ...

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

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

  5. SpringMvc与Struts2的对比

    目前企业中使用SpringMvc的比例已经远远超过Struts2,那么两者到底有什么区别,是很多初学者比较关注的问题,下面我们就来对SpringMvc和Struts2进行各方面的比较: 1.核心控制器 ...

  6. SpringMVC与Struts2的主要区别

    区别1: Struts2 的核心是基于一个Filter即StrutsPreparedAndExcuteFilterSpringMvc的核心是基于一个Servlet即DispatcherServlet( ...

  7. SpringMVC和Struts2区别比较

    区别1: Struts2 的核心是基于一个Filter即StrutsPreparedAndExcuteFilterSpringMvc的核心是基于一个Servlet即DispatcherServlet( ...

  8. springmvc与struts2执行流程比较

    之前写过一篇struts2的执行流程的文章了,这里对struts2的流程就不做过多的分析,这篇文章主要分析spring-mvc的执行流程以 及struts2与spring-mvc的差别. 1.stru ...

  9. springmvc和struts2的区别

    springmvc和struts2的区别 1.springmvc基于方法开发的,struts2基于类开发的. 2.单例和多例的区别:springmvc在映射的时候,通过形参来接收参数的,是将url和c ...

随机推荐

  1. lua centos 安装报错

    yum install libtermcap-devel ncurses-devel libevent-devel readline-devel

  2. Android开源项目:GifView——Android显示GIF动画

    下载:http://code.google.com/p/gifview/downloads/list 简介:android中现在没有直接显示gif的view,只能通过mediaplay来显示,且还常常 ...

  3. iOS Programming Camera 1

     iOS Programming Camera  1 1 Displaying Images and UIImageView 1.1  put an instance of UIImageView o ...

  4. preg_replace_callback使用方法

    官网解释: 执行一个正则表达式搜索并且使用一个回调进行替换 (PHP 4 >= 4.0.5, PHP 5) preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调 ...

  5. 从Code::Blocks到Dev–C++,Dev-C++安装调试一条龙

    关于单文件调试 Codeblocks只支持单文件编译,不支持单文件调试,只有整个工程才能调试,还有路径名里不能有中文和空格,很坑的!就因为这个弃用了. 去你的吧! 老子用别的了 谁支持单文件编译和调试 ...

  6. 微擎we7模块和模板安装方法

    2017年06月08日 09:26:55 源码学习分享 阅读数:15643 标签: we7 更多 个人分类: 微擎we7   版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  7. chfn - 改变你的finger讯息

    总览 SYNOPSIS chfn [ -f full-name ] [ -o office ] [ -p office-phone ] [ -h home-phone ] [ -u ] [ -v ] ...

  8. 使用VS Code调试Flutter(检查用户页面)

    官方提供的是Flutter Widget Inspector,详见https://flutterchina.club/inspector/ 我用的是另外一种好用的调试工具 Dart DevTools ...

  9. 解决dom4j加载xml文件性能慢的问题

    在代码中使用: 1: DocumentHelper.parseText 2: SAXReader reader = new SAXReader(); Document extdocument = re ...

  10. Log.d 日志调试查看(所有平台)

    https://www.cnblogs.com/onechen/p/6436748.html http://docwiki.embarcadero.com/Libraries/Berlin/en/FM ...