Struts 2 হল একটি শক্তিশালী Java Web Framework যা MVC (Model-View-Controller) ডিজাইন প্যাটার্ন অনুসরণ করে। Struts 2 অ্যাপ্লিকেশন ডেভেলপ করার জন্য আপনাকে কিছু প্রাথমিক কনফিগারেশন করতে হবে, যেমন লাইব্রেরি ডিপেন্ডেন্সি এবং ফ্রেমওয়ার্কের জন্য সঠিক প্লাগিন সেটআপ। Maven এবং Gradle হল দুইটি জনপ্রিয় বিল্ড টুল যা Java প্রজেক্টে ডিপেন্ডেন্সি ম্যানেজমেন্ট এবং বিল্ড প্রক্রিয়া সহজ করে তোলে।
এখানে আমরা দেখব কিভাবে Maven এবং Gradle দিয়ে Struts 2 Environment সেটআপ করা যায়।
Maven দিয়ে Struts 2 Environment সেটআপ করা
Maven ব্যবহার করে Struts 2 পরিবেশ সেটআপ করার জন্য আপনাকে প্রথমে pom.xml ফাইলে প্রয়োজনীয় Struts 2 ডিপেন্ডেন্সি যোগ করতে হবে। নিচে Maven ব্যবহার করে সেটআপ করার বিস্তারিত পদক্ষেপ দেওয়া হলো।
1. Maven প্রজেক্ট তৈরি করুন
আপনি IntelliJ IDEA, Eclipse বা Spring Tool Suite ইত্যাদি IDE ব্যবহার করে Maven প্রজেক্ট তৈরি করতে পারেন। তবে, ম্যানুয়ালি Maven প্রজেক্ট তৈরি করতে হলে, একটি pom.xml ফাইল তৈরি করতে হবে।
2. pom.xml ফাইলে Struts 2 ডিপেন্ডেন্সি যোগ করা
এখানে একটি সাধারণ pom.xml ফাইলের উদাহরণ দেওয়া হল যেখানে Struts 2 এর জন্য প্রয়োজনীয় ডিপেন্ডেন্সি অন্তর্ভুক্ত করা হয়েছে।
<?xml version="1.0" encoding="UTF-8"?>
<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-example</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> <!-- Use the latest version -->
</dependency>
<!-- Servlet API dependency for web development -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!-- JSTL dependency -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>javax.servlet.jsp.jstl-api</artifactId>
<version>1.2.1</version>
<scope>provided</scope>
</dependency>
<!-- Log4j for logging -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Plugin for WAR file generation -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
</plugin>
</plugins>
</build>
</project>
ব্যাখ্যা:
- struts2-core: এটি Struts 2 ফ্রেমওয়ার্কের প্রধান জার ফাইল, যা MVC কন্ট্রোলারের জন্য প্রয়োজনীয় ক্লাসগুলো সরবরাহ করে।
- servlet-api: Servlet API ডিপেন্ডেন্সি, যা ওয়েব অ্যাপ্লিকেশনের জন্য প্রয়োজনীয়।
- log4j: লগিং এর জন্য ব্যবহৃত।
3. Maven কমান্ড দিয়ে প্রজেক্ট বিল্ড করা
প্রজেক্ট সেটআপ করার পর, Maven দিয়ে প্রজেক্ট বিল্ড করতে পারেন:
mvn clean install
এটি Struts 2 ফ্রেমওয়ার্ক এবং অন্যান্য ডিপেন্ডেন্সি ডাউনলোড করে এবং WAR ফাইল তৈরি করবে।
4. web.xml কনফিগারেশন ফাইল
আপনার web.xml ফাইলটিতে Struts 2 ফ্রেমওয়ার্ক সার্ভলেট কনফিগার করতে হবে। উদাহরণস্বরূপ:
<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">
<display-name>Struts 2 Application</display-name>
<!-- Struts 2 Filter configuration -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Gradle দিয়ে Struts 2 Environment সেটআপ করা
Gradle একটি বিল্ড অটোমেশন টুল যা সহজে ডিপেন্ডেন্সি ম্যানেজমেন্ট করতে সাহায্য করে এবং Maven-এর তুলনায় আরও দ্রুত কাজ করে।
1. Gradle প্রজেক্ট তৈরি করুন
Gradle প্রজেক্ট তৈরি করতে, আপনি build.gradle ফাইল ব্যবহার করেন। Gradle সেটআপ করার জন্য প্রথমে Gradle ইনস্টল করতে হবে অথবা IDE-এর মাধ্যমে এটি ইন্টিগ্রেট করা যাবে।
2. build.gradle ফাইলে Struts 2 ডিপেন্ডেন্সি যোগ করা
এখানে একটি সাধারণ build.gradle ফাইলের উদাহরণ দেওয়া হল যেখানে Struts 2 এর জন্য ডিপেন্ডেন্সি যোগ করা হয়েছে:
plugins {
id 'java'
id 'war'
}
group 'com.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.apache.struts:struts2-core:2.5.22' // Struts 2 Core
providedCompile 'javax.servlet:servlet-api:2.5' // Servlet API
providedCompile 'javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1' // JSTL
implementation 'log4j:log4j:1.2.17' // Log4j for logging
}
war {
baseName = 'struts2-example'
version = '1.0-SNAPSHOT'
}
3. Gradle কমান্ড দিয়ে প্রজেক্ট বিল্ড করা
এখন Gradle ব্যবহার করে প্রজেক্ট বিল্ড করতে:
gradle clean build
এটি আপনার প্রজেক্টের জন্য প্রয়োজনীয় ডিপেন্ডেন্সি ডাউনলোড করবে এবং WAR ফাইল তৈরি করবে।
4. web.xml কনফিগারেশন ফাইল
Gradle প্রজেক্টে একইভাবে web.xml ফাইল কনফিগার করতে হবে, যেমনটি Maven এ করা হয়েছিল।
<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">
<display-name>Struts 2 Application</display-name>
<!-- Struts 2 Filter configuration -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
সারাংশ
Struts 2 পরিবেশ সেটআপ করতে, আপনি Maven অথবা Gradle ব্যবহার করতে পারেন। Maven-এর জন্য, pom.xml ফাইলে Struts 2 এবং অন্যান্য প্রয়োজনীয় ডিপেন্ডেন্সি যোগ করতে হবে এবং Gradle-এর জন্য build.gradle ফাইলে ডিপেন্ডেন্সি এবং প্লাগইন কনফিগার করতে হবে। এভাবে আপনার Java web অ্যাপ্লিকেশনে Struts 2 ফ্রেমওয়ার্ক ব্যবহার করে MVC আর্কিটেকচার প্রতিষ্ঠা করা যাবে।
Read more