SpringMVC 和 Struts2 区别

  1. springMVC是方法级别的拦截,struts2是基于类级别的拦截
  2. Struts2有以自己的interceptor机制,SpringMVC用的是独立的AOP方式,这样导致 Struts2的配置文件量还是比SpringMVC大
  3. SpringMVC的入口是servlet,而Struts2是filter

简单介绍一下Struts2的值栈?

值栈是对应每一个请求对象的数据存储中心。Struts2的一个很重要的特点就是引入了值栈。之前我们通过缓存或者模型驱动在action和页面之间传递数据,数据混乱,并且难以管理,缓存还有时间和数量限制,使用起来非常的困难。值栈的引入解决了这个问题,它可以统一管理页面和action之间的数据,供action、result、interceptor等使用。我们大多数情况下不需要考虑值栈在哪里,里面有什么,只需要去获取自己需要的数据就可以了,大大的降低了开发人员的工作量和逻辑复杂性。

 

   4 .SpringMVC开发效率和性能高于Struts2  (体现以下几个方面)

  1. ) Struts2每次来了请求就创建一个Action,一个Action对象对应一个request上下  ,消耗内存
  2. ) 由于Struts2需要针对每个request进行封装,把request,session等servlet 生命周期的变量封装成一个一个Map,供   给每个Action使用(这就解释了为什么struts2获取这些属性值比较方便 快捷的原因),并保证线程安全, 所以在原则上,是比较耗费内存的
  3. )SpringMVC的入口是servlet,而Struts2是filter 

             Servlet的流程比较短,url来了之后就对其进行处理,处理安慰你就返回数据或者 转向另一个页面

             Filter的流程就比较长,在一个filter处理之后就可以转向另一个filter进行处理, 然后再交给servet

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章