在采用SpringMVC框架之前,我们进行了一次对SpringMVC与Strut2的对比,最后才选择了SpringMVC框架,在此我来说明一下搭建这个SSH框架的区别,以及两者的对比和选择了前者的原因。
1) 搭建Strut2的SSH框架
Strut2是与SpringMVC层负责的工作一样的,管理视图层;其配置大部分与3)中的配置一致,在这里我取不一样的地方来说明。
a) 对于web.xml,配置中增加了一个Struts的过滤器,如图3.1,这是取代SpringMVC的dispatcher的,用来对请求做集中统一的分发;
图3.1 Struts过滤器
b) 用strut.xml取代springMVC-servlet.xml,如下图3.2,由于strut的具体配置不是我负责的,在此不做过多论述。
图3.2 strut.xml配置
c) Strut对应action层取代controller,action层的功能与controller相似。
2) 选择SpringMVC的原因
a) SpringMVC基于方法开发,而strut2是基于类开发的。前者将url映射到控制器的一个方法里,映射成功后生产一个Handle对象,对象中只包括了一个method;方法执行结束时,形参数据销毁。而后者将url映射到一个类,粒度比前者大,每一个url都要为其配置一个类,粒度太大。
b) SpringMVC可进行单例开发,而sturt2通过类的成员变量接收参数,无法使用单例,只能使用多例。
c) 经过实际测试,strut2的速度更慢,主要是因为其使用了struts标签。