Struts2 is a lot simpler and more powerful than struts1, and we can see it in several ways:
from an architecture perspective:The struts2 uses interceptors to come out of the request, allowing the separation of the business logic controller from the SERVLET-API, avoiding intrusion, and struts1.x in action with the obvious intrusion Servlet-api.
from thread safety analysis:struts2.x is thread-safe, each object produces an instance, avoids thread-safety issues, and struts1.x is single-threaded in action.
performance:The struts2.x test can be detached from the Web container, and struts1.x relies on SERVLET-API, and the test relies on the Web container.
Request Parameter Package comparison:struts2.x uses Modeldriven mode so that we directly encapsulate the model object without having to inherit any struts2 base class, avoiding intrusion.
Tag Advantages: The tag library can almost completely replace the JSTL tag library, and struts2.x supports powerful OGNL expressions.
Reference Link: http://blog.csdn.net/guo_love_peng/article/details/6860402
[SSH] Comparison of Struts2 and struts