为何有了Struts 还要Spring MVC

不少人学习了ssh ,都晓得struts最先被人用来控制表现层,可是struts已经有了mvc 为何还有spring mvc呢?java

 

 

因此我稍微查阅了一些资料,总结了一下他们的区别:spring

 

1. 机制。spring mvc 的入口是serclet, 而struts是filter(这里要指出,filter和servlet是不一样的。之前认为filter是servlet的一种特殊),这样就致使了两者的机制不一样,编程

这里就牵涉到servlet和filter的区别了,我其余博客 会专门写一写 servlet和filter之间的区别。mvc

 

2.性能。 spring会稍微比struts快。spring mvc 是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一個 action  ,每一个action都会被注入属性, 而spring基于方法,粒度更细,但要当心把握像在servlet控制数据同样。ssh

 

3.参数传递。 struts是在接受参数的时候,能够用属性来接受参数, 这就说明参数是让多个方法共享的。oop

 

 

4.设计思想上。struts 更加符合oop的编程思想, spring就比较谨慎,在servlet上扩展,性能

 

5.intercepter的实现机制。struts有以本身的interceptor机制,spring mvc 用的是独立的AOP方式。这样致使struts的配置文件量仍是比spring mvc大,虽然struts的配置能继承,因此我以为论使用上来说,spring mvc使用更加简洁。学习

 

以上是我参考一些文档后的总结。谢spa



已有 4 人发表留言,猛击->>这里<<-参与讨论


JavaEye推荐
相关文章
相关标签/搜索