struts2和springmvc的区别面试,struts2与springmvc的区别

  struts2和springmvc的区别面试,struts2与springmvc的区别

  如何解决写爬虫IP受阻的问题?立即使用。

  Struts2 和 SpringMVC 的区别?

  一.框架机制

  1.Struts2由filter(strutspreparandexecutfilter)实现,SpringMVC(DispatcherServlet)由Servlet实现。

  2.过滤器在容器启动后初始化;服务在停止后崩溃,比Servlet晚。Servlet在调用Filter之前被初始化,在服务停止之后被销毁。

  二。拦截机制

  1、支柱2

  A.Struts2框架是类级拦截,每个请求都会创建一个动作。与Spring集成时,Struts2的ActionBean注入的范围是原型模式(否则会出现线程并发问题),然后通过setter和getter将请求数据注入到属性中。

  B.在Struts2中,一个动作对应一个请求,响应上下文。接收参数时,可以通过属性接收,说明属性参数是多个方法共享的。

  c,Struts2中的一个Action方法可以对应一个url,但是它的class属性是所有方法共享的,所以无法通过注释或者其他方式来标识它的所属方法。

  2、SpringMVC

  a、SpringMVC是方法级拦截,一个方法对应一个请求上下文,所以方法是直接的、基本独立的,独享请求和响应数据。同时,每个方法对应一个url,参数的传递直接注入到方法中,是方法特有的。处理结果通过ModeMap返回给框架。

  B.Spring集成时,SpringMVC的控制器Bean默认为Singleton模式Singleton,所以默认情况下,所有请求只会创建一个控制器,不应该有共享属性,所以是线程安全的。如果要更改默认范围,需要添加@Scope注释来修改。

  第三,性能

  SpringMVC实现零配置。由于SpringMVC基于方法的拦截,singleton模式bean注入加载一次。Struts2是类级拦截,每个请求对应一个新的动作实例,所有属性值都需要加载。所以SpringMVC的开发效率和性能都高于Struts2。

  四。拦截机制

  Struts2有自己的拦截拦截器机制,SpringMVC使用独立的Aop方法,导致Struts2的配置文件比SpringMVC大。

  动词(verb的缩写)配置

  Spring MVC和Spring是无缝的。这个项目的管理和安全性也高于Struts2(当然Struts2可以通过不同的目录结构和相关配置达到和SpringMVC一样的效果,但是有很多地方需要xml配置)。

  SpringMVC可以认为是100%零配置。

  不及物动词设计理念

  Struts2更符合OOP编程思想,所以SpringMVC更谨慎,在servlet上扩展。

  七。综合

  SpringMVC集成了Ajax,使用起来非常方便。只需要一个评论@ResponseBody就可以实现,然后直接返回响应文本。Struts2拦截器集成了Ajax,所以在Action中处理时,通常不方便安装插件或者自己写代码集成。

  推荐教程:《PHP》 《Java教程》 struts 2和SpringMVC的区别是什么?更多详情请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: