Struts 2 Tutorial – Struts2 Tutorial

Filed Under: Struts 2

Welcome to Struts 2 Tutorial index post. Struts 2 is one of the mostly used Java Web Application Framework and recently I have wrote a lot about it. Struts 2 is built on top of Struts1 and WebWork framework that makes it highly flexible, extendable and easy to maintain.

Struts 2 Tutorial

If you want to learn Struts 2 and it’s important features then please read all the below articles in order. All these articles provide framework features in great details and comes with downloadable web application projects.

Struts 2 Tutorial, struts2 tutorial

Struts 2 Tutorial for Beginners

  1. Struts 2 Example for BeginnersThis is the first article in the series, here you will learn about basics of Struts 2 with brief details about it’s architecture, framework core concepts such as Interceptors, OGNL, Action, Results, wiring the application components etc. The article also provides basic example of Struts 2 web application project with XML based configuration.
  2. Struts 2 Annotations Example ProjectJava Annotations are becoming popular in most of the Java EE frameworks and Struts 2 provides a lot of annotations that we can use to create Struts 2 web application with zero configuration i.e. without having struts configuration file. Check out the article to learn about the commonly used annotations in Struts 2 framework. The article also provides an example project built with annotations and without having any struts configuration file that you can download and play around.
  3. Struts 2 Result Path ConfigurationWe can configure Struts 2 application to look for result pages at specific location, the article provide brief details about this using XML based configuration as well as annotation based.
  4. Struts 2 No result defined for action and result inputA common error faced while working with Struts 2 application because of validation failure and there is no result configured for “input” in struts configuration file.

Struts 2 Action

  1. Struts 2 Action ClassesAction classes are at the front of our application and we invest a lot of time in designing and developing action classes. The article explains about four different ways to create action classes in Struts 2 framework. Learn about these ways and which is the good option to chose in your application action classes.
  2. Struts 2 Action Object-backed and ModelDriven ExampleMost of the times we don’t want form bean properties to be part of action classes and we want to have them in a java bean that we can use in action classes. There are two approaches to achieve this – Object-backed and ModelDriven. The article explains about both of these approaches and which is the best approach to use.
  3. Struts2 Action Messages and Action Errors ExampleWe can override ActionSupport validate() method to have form field validation at server side and return the input page with action error messages to show in result pages. Similarly we can add action messages to show in result pages.

Struts 2 Interceptors

  1. Struts 2 Interceptor Tutorial with Custom Interceptor ExampleStruts2 interceptors are the backbone of the framework and defined in struts-default package. Struts2 interceptors are great example of Chain of Responsibility pattern implementation. This article explains about the working of interceptors and how easily we can create our own interceptor and configure it for action. The article shows how we can achieve authentication across the application with the use of custom interceptors and make our code loosely coupled and achieve flexibility with code reuse.
  2. Struts2 token interceptorWe can use Struts2 token and tokenSession interceptors to handle multiple form submission problem at server side in the web application. This article explains about these interceptors in detail with a working example.
  3. Struts2 execAndWait interceptorWe can use Struts2 execAndWait interceptor to return an intermediate response page to client incase of long running action classes. Once the action class execution is finished, the final response is returned to the client. This article explains about execAndWait interceptor and how can we use this for long running action classes.

Struts 2 Tags

  1. Struts 2 OGNL TutorialStruts2 uses OGNL expression language for data transfer from request to action classes bean properties and type conversion from String to objects and vice versa in result pages. The article provide details about the usage of OGNL expressions and how we can create our own type converter classes.
  2. Struts2 Data TagsStruts2 comes with rich tags that can be categorized into data, control and UI tags. This article provide details about majorly used Struts2 data tags with example project.
  3. Struts2 Control TagsStruts2 control tags are used for manipulation and navigation of data from a collection. This article provide details about the Struts2 control tags and how we can use them for conditional flow and iterate over an array or collection. We also learn about some other control tags used to sort list, merge lists, append lists and take subset of list with example project.
  4. Struts2 UI TagsStruts2 UI tags are used to generate HTML form elements in result pages. UI tags are also responsible for binding form properties to action class properties. This article provide details about mostly used UI tags with example project.

Struts 2 Localization

Struts2 Resource Bundles and Localization

Struts2 provides strong support for internationalization through I18nInterceptor and resource bundles. This article explains about i18n support in Struts2 framework with different locations of resource bundles with example project.

Struts 2 Tutorial – Miscellaneous

  1. Struts2 Single and Multiple File Upload ExampleFile uploading is one of the common tasks in the web application. That’s why Struts2 provides FileUploadInterceptor interceptor that we can use to upload Single as well as multiple files on the server without using any third party tools. The article explains about this interceptor in detail with example project to upload files on server.
  2. How to get Servlet Session, Request, Response, Context Attributes in Struts 2 ActionSometimes we want to have access to Servlet API components such as Session, Request and Response in action classes. Struts2 provides a bunch of *Aware interfaces that we can implement in action classes to inject Servlet API components in action classes.
  3. Struts2 and log4j integrationThis article explains how we can integrate log4j with Struts2 framework in our web application for logging purposes.
  4. Struts2 Exception HandlingStruts2 provide convenient ways to configure error pages for exceptions thrown by our application at global package level as well as action level. Again this is done by Struts2 exception interceptor that is part of defaultStack. Check out this post for example project with usage details.
  5. Struts2 Hibernate Integration ExampleMostly we use an ORM tool in enterprise applications and Hibernate is one of the best choices available in the market. This tutorial provide details about how to integrate Hibernate with Struts2 framework in a web application with downloadable example project.

Struts 2 Interview Questions

This article lists most important Struts 2 interview questions with detailed answers to clear you through interview.

There are more articles to come in Struts 2 tutorial series, do bookmark this post for future reference.

Comments

  1. ashok says:

    your posts really helpful to me, thanks a lot Pankaj

  2. kittu says:

    how can I download pdf file from postgres sql database using struts 2 annotations and hibernate ..?
    can anybody help ,pls send some example code

  3. Deva says:

    Hi,

    Can you please help in handling csrf in struts2.

  4. Anbuselvi says:

    Hi Sir,

    I am new to struts2 and Eclipse Environment as well as Tomcat. I did some sample application in struts1 with Netbeans6.8 IDE and Jboss4. I want to follow you to learn struts2.so I want to know that what version of Eclipse/My Eclipse ,Tomcat and etc. to build struts2 application .

    Thanks and Regards,
    Anbuselvi

    1. Prabhu.g says:

      Better you can use MyEclipse 8.6 version and apache tomcat 7

      1. anbu says:

        thank you sir, i used above tool to struts2 application development.

  5. Rajesh V Undre says:

    I am new in programming and i am non technical person and my age is 41. I have taken lot of interest in learning Core-Java and Advanced Java.I am studying through Video courses and through books at home But there is a confusion in Interceptors I dont know what is the use of Interceptors and How interceptors work .please help me in interceptors

  6. Kiran G V says:

    Hi can u help me to create an application for sending e- mail with multiple receipients and also cc, bcc.
    Which must include the attachments also. Login credential must be in jsp page itself.

  7. Pradeep Chaubey says:

    Hi Pankaj,
    I follow your posts, It is really very helpful to me. Thanks for such a nice post. If possible, please post Struts2 + Spring integration also.

    Thanks,
    -Pradeep

  8. HungryToLearn says:

    Hi Pankaj,
    I am unable to open Struts UI tags 🙁

    1. Pankaj says:

      Thanks for noticing, the link was broken. I have fixed it.

      1. ganesh says:

        hi pankaj,
        i want spring security with ldap example can you please help me.

        Thanks,
        Ganesh

Leave a Reply

Your email address will not be published. Required fields are marked *

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages