SpringMVC与Struts2的比较

1、框架结构

SpringMVC是基于Spring框架的,主要使用IOC(控制反转)和AOP(面向切面编程),它的框架结构比较灵活,可以很容易的与其他框架集成,同时也可以很容易的实现自定义。而Struts2是基于WebWork2和Struts1的。它的框架结构比较固定,主要使用拦截器(Interceptor),它的拦截器可以实现在Action之前,Action之后,视图之前,视图之后的拦截。

2、易用性

SpringMVC比较容易上手,它的配置文件也比较少,而且配置文件也比较容易理解,只需要简单的配置就可以实现框架的功能,它的Controller也可以很容易的实现自定义,只需要继承Controller类即可。而Struts2的配置文件较多,而且配置文件也比较复杂,需要花费比较多的时间来理解,它的Action也可以实现自定义,但是需要实现ActionSupport类。

3、性能

SpringMVC的性能比较好,因为它可以实现自定义,所以可以根据不同的业务需求来调整框架的性能,而Struts2的性能比较一般,因为它的拦截器可能会影响框架的性能。

4、安全性

SpringMVC的安全性比较高,因为它可以通过AOP来实现安全性,而Struts2的安全性比较低,因为它的拦截器可能会影响安全性。