For many Struts2 provides the first point of entry into web programming, as such there are many questions for new web developers. This guide is my effort to address some of these concerns.  This guide is my way of contributing to the Struts2 community. Hope you find what you need and happy coding!

Before going through the guide it is useful to know what tools I use and am likely to cover; In other words, a little about the author:

Primary OS platform: Linux (very unlikely to impact the tutorials much, file paths will be in Unix/Linux style)

Primary Application Server: Glassfish 3.1 (or greater)

Primary IDE: Netbeans 7.1 (or greater)

Main Frameworks: Struts2 ( +), Spring (3.1.1), JPA2 (via Hibernate 4.1.0), Apache Tiles (2.2.2)

Most used Struts2 Plugins: struts2-conventions-plugin, struts2-json-plugin, struts2-tiles-plugin

Build: Maven

Versioning: Git (Unlikely to impact tutorials)

Database: MySQL (really it is Maria 5.3.2 but Maria being binary compatible with MySQL there is no difference in use. I bench marked it and found it faster than MysQL for a specific application and it has a very good backup solution called xtrabackup, as far as JPA/Hibernate are concerned they think they are working with MySQL as such I use Maria now as my standard DB)

Scripting: I like python but have also started experimenting with Groovy (Close to a Java superset with scripting features).


Ken McWilliams (Quaternion on StackOverflow) - Currently I am the only contributer.

If you would like to contribute please email ken dot mcwilliams at gmail dot com and I will create an account for you.


If questions are wiki related email me, if they are struts2 or general programming questions please post a question on

This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 12.8 - Documentation