Ans. 1) It is an Action based MVC based framework which has adopt mvc2. 2) Struts2 is a pull-MVC (or MVC2) framework where action takes the role of the model rather than the controller. The “pull” concepts means views ability to pull data from an action, rather than having a separate model object available. 3) The Model View-Controller pattern in Struts2 is implemented with five core components – actions, interceptors, value stack / OGNL, result types and results / view technologies. 4) XML configuration as well as Annotation option available. 5) POJO based action available so we can write test cases easily. 6) Integration with Spring, tiles and OGNL based expression langugae. 7) Theme based tag libraries integrated with struts tag as well as support of Ajax tag. 8) Can have various view options like jsp, velocity, freemarker etc. 9) We can embed plugin through which we can modify and extend framework features.