谈谈控制器技术SpringMVC与struts2

                                                          SpringMVCstruts2区别

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

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

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

   SpringMVC的入口是一个servlet  struts2filter这就是导致两者运行机制不同了.本值就是serveltfilter的区别了

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

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

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

posted @ 2019-03-22 21:42  凡尘佛心  阅读(135)  评论(0编辑  收藏  举报