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 的安全性比较低,因为它的拦截器可能会影响安全性。