প্রথম Struts 2 অ্যাপ্লিকেশন (Hello World Example)

Struts 2 Setup এবং প্রথম প্রোজেক্ট - স্ট্রাটস (Struts 2) - Java Technologies

297

Struts 2 একটি জনপ্রিয় Java ফ্রেমওয়ার্ক যা MVC (Model-View-Controller) আর্কিটেকচার অনুসরণ করে। এটি উন্নত ওয়েব অ্যাপ্লিকেশন তৈরি করতে সহায়ক। এখানে একটি সাধারণ Hello World অ্যাপ্লিকেশন তৈরি করার উদাহরণ দেওয়া হচ্ছে, যা Struts 2 ব্যবহার করে।


প্রয়োজনীয় সেটআপ

Struts 2 অ্যাপ্লিকেশন তৈরি করতে, আপনি প্রথমে Apache Struts 2 লাইব্রেরি এবং Servlet container (যেমন Tomcat) সেটআপ করতে হবে। এখানে Maven ব্যবহার করে Struts 2 অ্যাপ্লিকেশন তৈরি করার জন্য প্রয়োজনীয় কনফিগারেশন দেওয়া হচ্ছে।

১. Maven প্রোজেক্ট তৈরি এবং প্রয়োজনীয় ডিপেনডেন্সি

pom.xml ফাইলে Struts 2 এবং অন্যান্য প্রয়োজনীয় লাইব্রেরির ডিপেনডেন্সি যোগ করুন।

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>struts2-hello-world</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
        <!-- Struts 2 dependency -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.5.22</version>
        </dependency>

        <!-- Servlet API for Tomcat -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.1</version>
            </plugin>
        </plugins>
    </build>
</project>

এই ডিপেনডেন্সি Struts 2 ফ্রেমওয়ার্ক এবং Servlet API কে অন্তর্ভুক্ত করবে, যা আপনার প্রোজেক্টের জন্য প্রয়োজনীয়।


২. Action Class তৈরি করা

এখন একটি Action Class তৈরি করুন, যা ইউজারের রিকুয়েস্ট প্রক্রিয়া করবে।

HelloWorldAction.java (Action class):

package com.example;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {
    private String name;

    // Action method that returns a String (Success/Failure)
    public String execute() {
        if (name == null || name.isEmpty()) {
            name = "World";
        }
        return SUCCESS;
    }

    // Getter and Setter methods for 'name'
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Action Class:

  • ActionSupport ক্লাসটি Struts 2 দ্বারা সরবরাহিত একটি বেস ক্লাস, যা execute() মেথড প্রক্রিয়া করতে সহায়ক। এখানে name প্রপার্টি ইউজারের ইনপুট গ্রহণ করতে ব্যবহৃত হচ্ছে এবং যদি নাম দেওয়া না হয় তবে "World" নামটি ডিফল্ট মান হিসেবে ব্যবহার করা হবে।

৩. Struts 2 কনফিগারেশন (struts.xml)

Struts 2 অ্যাপ্লিকেশন কনফিগার করতে struts.xml ফাইল ব্যবহার করা হয়। এই ফাইলে অ্যাকশন এবং এর সাথে সম্পর্কিত রেজাল্ট সেট করা হয়।

struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
<struts>
    <package name="default" extends="struts-default">
        <!-- Action configuration -->
        <action name="hello" class="com.example.HelloWorldAction">
            <result>/hello.jsp</result>
        </action>
    </package>
</struts>
  • এখানে, hello নামক একটি অ্যাকশন HelloWorldAction ক্লাসের সাথে সম্পর্কিত।
  • অ্যাকশনটি সফল হলে এটি hello.jsp পৃষ্ঠায় রিডিরেক্ট হবে।

৪. JSP পৃষ্ঠা (hello.jsp)

এখন একটি JSP পৃষ্ঠা তৈরি করুন, যা অ্যাকশন থেকে প্রাপ্ত ডাটা প্রদর্শন করবে।

hello.jsp:

<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<head>
    <title>Hello Struts 2</title>
</head>
<body>
    <h2>Hello, <s:property value="name" /></h2>
</body>
</html>
  • JSP ফাইল: এখানে, আমরা Struts 2 এর property ট্যাগ ব্যবহার করেছি, যা অ্যাকশন থেকে প্রাপ্ত name প্রপার্টি রেন্ডার করবে।

৫. Web.xml কনফিগারেশন

Web.xml ফাইলের মাধ্যমে Struts 2 DispatcherServlet কনফিগার করা হয়, যা অ্যাপ্লিকেশনের এন্টার পয়েন্ট।

web.xml:

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
             http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

    <!-- Struts 2 Dispatcher Servlet -->
    <servlet>
        <servlet-name>struts2</servlet-name>
        <servlet-class>org.apache.struts2.dispatcher.FilterDispatcher</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>struts2</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>
  • FilterDispatcher: এটি Struts 2 এর প্রধান সেরভলেট যা সমস্ত HTTP রিকুয়েস্ট গ্রহণ এবং প্রক্রিয়া করে।

৬. অ্যাপ্লিকেশন রান করা

  1. Maven কমান্ড ব্যবহার করে প্রোজেক্টটি কম্পাইল করুন:

    mvn clean install
    
  2. WAR ফাইল তৈরি হলে, এটি Tomcat বা আপনার পছন্দের সের্ভারে ডিপ্লয় করুন।
  3. ব্রাউজারে অ্যাপ্লিকেশনটি চালান:

    http://localhost:8080/struts2-hello-world/hello.action
    

এটি আপনাকে একটি "Hello, World" বার্তা প্রদর্শন করবে।


সারাংশ

এটি ছিল Struts 2 ফ্রেমওয়ার্কে একটি সাধারণ Hello World অ্যাপ্লিকেশন তৈরি করার উদাহরণ। Struts 2 Action ক্লাস, struts.xml কনফিগারেশন এবং JSP ব্যবহার করে একটি MVC আর্কিটেকচারের ভিত্তিতে এই অ্যাপ্লিকেশনটি তৈরি করা হয়েছে। Struts 2 খুবই শক্তিশালী এবং কাস্টমাইজেবল, যা দ্রুত ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...