{{ tag.selected.title }}
请选择标签
不添加标签
{{ tag.title }}
{{ tag.description }}
3天前
广州哪里可以开具增值税普通发票-广州新闻网


广 州 幵 增 值 税 发 票-【13ち-ぁ-60.⒎ ⒉-ぁ-⒎0.8⒏张生】薇.ィ訁.同.号.《正.规.办.理》一、框架机制1、Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。

2、Filter在容器启动之后即初始化;服务停止以后坠毁,晚于Servlet。Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁。



二、拦截机制



1、Struts2



a、Struts2框架是类级别的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype(否则会出现线程并发问题),然后通过setter,getter吧request数据注入到属性。

b、Struts2中,一个Action对应一个request,response上下文,在接收参数时,可以通过属性接收,这说明属性参数是让多个方法共享的。

c、Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了



2、SpringMVC

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

b、在Spring整合时,SpringMVC的Controller Bean默认单例模式Singleton,所以默认对所有的请求,只会创建一个Controller,有应为没有共享的属性,所以是线程安全的,如果要改变默认的作用域,需要添加@Scope注解修改。



三、性能方面

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



四、拦截机制

Struts2有自己的拦截Interceptor机制,SpringMVC这是用的是独立的Aop方式,这样导致Struts2的配置文件量还是比SpringMVC大。



五、配置方面

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

SpringMVC可以认为已经100%零配置。

还没有人评论...

3天前
广州哪里可以开具增值税普通发票-广州新闻网

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。傻逼们别试了,没用的。

还没有人评论...

5天前
傻逼们别试了,没用的。

还没有人评论...

~