blog bg

May 30, 2025

Struts Action Classes Explained: Handling User Requests

Share what you learn in this blog to prepare for your interview, create your forever-free profile now, and explore how to monetize your valuable knowledge.

 

Organizing user requests in Java-based web applications may be difficult. That is where Struts is important. One of the most popular MVC frameworks, Struts, makes it easy to divide responsibilities and optimize application design. Today, I will cover Struts' core: Action Classes. These unsung warriors process user requests, input, and data routing. Let's put them up in a simple web app! 

 

Setting Up Struts 

Start creating with Struts by setting up your environment. Though simple, it needs attention to detail. 

Install Struts as a project dependency. In a Maven project, add the Struts dependency to pom.xml. You must then configure many essential files. The core of your Struts setup is struts-config.xml, where you bind Action classes to user requests. You will setup Struts' core controller, ActionServlet, in web.xml. 

Here comes the fun. After these modifications, you can redirect user requests to the Action class. 

 

Understanding Struts Action Classes 

Magic occurs in Struts Action Classes. Consider them your app's traffic controllers. When a user submits a form, the Action class evaluates the information and decides what to do. 

Action and ActionForm work together to save user data. To conveniently collect user input like text fields, checkboxes, and dropdowns, form beans map to form fields. After getting the input, the Action class can send the request to the business layer to do tasks like logging in a user or adding an item to a shopping cart. 

Keep in mind that the Action class is modular and reusable. Each Action class performs a particular job, and struts-config.xml maps these duties to user requests. 

 

Writing a Basic Action Class 

How to create a simple Action class. Execute() is the most significant function of the Action class, which extends org.apache.struts.action.Action. Here's an easy example of how to log in:

 

public class LoginAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
        LoginForm loginForm = (LoginForm) form;
        String username = loginForm.getUsername();
        String password = loginForm.getPassword();
        
        // Business logic to authenticate the user
        boolean isAuthenticated = authenticationService.authenticate(username, password);
        
        if (isAuthenticated) {
            return mapping.findForward("success");
        } else {
            return mapping.findForward("failure");
        }
    }
}

 

Example Scenario: Handling a User Login 

Let's see how to manage a basic login request. Think of a person filling out a form with their account and password. The Action class will take those numbers, check if the user is valid, and then send the answer as needed. This is how the process works: 

  1. The person fills out a login form. 
  2. The LoginAction class gets the account and password from the form. 
  3. It then calls the authenticationService to check the passwords. 
  4. If the login works, the perform() method sends a success ActionForward that takes the user to the home page. 
  5. If it fails, the method gives a failure ActionForward, sending the user back to the login page with an error message. 

 

Conclusion 

Struts Action classes help handle user requests and direct data in your program. They offer a clear method for managing form submissions, business processes, and movement between views, making your Java web development more organized and easier to manage. I hope this post has helped you understand how to set up Struts and use Action classes in a simple web app. Now it is your turn to give it a try and start creating your own Struts apps!

120 views

Please Login to create a Question