Struts 2 এর স্ট্রাকচার এবং ফোল্ডার কনফিগারেশন

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

340

Struts 2 একটি শক্তিশালী এবং অত্যন্ত কনফিগারযোগ্য ফ্রেমওয়ার্ক যা MVC (Model-View-Controller) আর্কিটেকচার অনুসরণ করে। একটি Struts 2 অ্যাপ্লিকেশন সাধারণত অনেকগুলো ফোল্ডার এবং কনফিগারেশন ফাইল নিয়ে গঠিত হয়। এই গঠনটি অ্যাপ্লিকেশনটির রক্ষণাবেক্ষণ এবং স্কেলিবিলিটি সহজ করে তোলে।

এখানে Struts 2 অ্যাপ্লিকেশনের সাধারণ স্ট্রাকচার এবং ফোল্ডার কনফিগারেশন নিয়ে আলোচনা করা হবে।


Struts 2 অ্যাপ্লিকেশন স্ট্রাকচার

Struts 2 অ্যাপ্লিকেশনটির ফোল্ডার স্ট্রাকচার সাধারণত নিচের মতো থাকে:

MyStruts2App/
│
├── src/                            # Java source files
│   ├── com/
│   │   ├── example/
│   │   │   ├── action/             # Action classes (Java files)
│   │   │   └── model/              # Model classes (Java files)
│   └── ...
│
├── WebContent/                     # Web application content
│   ├── WEB-INF/                    # Web configuration files
│   │   ├── struts.xml              # Struts 2 configuration file
│   │   ├── web.xml                 # Servlet configuration file
│   │   ├── classes/                # Compiled class files (automatically generated)
│   │   ├── lib/                    # External libraries (JAR files)
│   │   └── tlds/                   # Tag Library Descriptor (optional)
│   ├── index.jsp                   # Home page JSP
│   ├── login.jsp                   # Example login page
│   └── ...
│
└── pom.xml                         # Maven configuration (if using Maven)

Struts 2 ফোল্ডার কনফিগারেশন বিশ্লেষণ

১. src/ (Java Source Files)

এই ফোল্ডারটি Java কোড ধারণ করে। এখানে Action classes, Model classes, এবং অন্যান্য Java ক্লাসগুলি থাকবে। Struts 2 অ্যাপ্লিকেশন সাধারণত নিচের ধরনের ফোল্ডার সংরক্ষণ করে:

  • action/: এখানে অ্যাকশন ক্লাসগুলি থাকে যা ব্যবহারকারীর ইনপুট প্রক্রিয়া করে এবং ফলাফল প্রদান করে।
  • model/: এখানে মডেল ক্লাস থাকে, যা সাধারণত ডাটাবেস, ভ্যালিডেশন, বা অন্যান্য ব্যবসায়িক লজিক ধারণ করে।

২. WebContent/

এই ফোল্ডারটি JSP (Java Server Pages), HTML, CSS, এবং JavaScript ফাইলসহ ওয়েব কন্টেন্ট ধারণ করে। এটি ইউজার ইন্টারফেস বা ভিউ অংশ থাকে, যেখানে সব ধরনের গ্রাফিকাল উপাদান থাকে।

  • WEB-INF/: এটি সবচেয়ে গুরুত্বপূর্ণ ফোল্ডার যেখানে কনফিগারেশন ফাইল এবং অন্যান্য গুরুত্বপূর্ণ ফাইল থাকে।
    • struts.xml: Struts 2 এর প্রধান কনফিগারেশন ফাইল, যেখানে অ্যাকশন, রিসাল্ট এবং ইন্টারসেপ্টর কনফিগার করা হয়।
    • web.xml: এটি একটি সাধারণ Servlet কনফিগারেশন ফাইল যা Struts 2 ফিল্টার এবং অন্যান্য ওয়েব সার্ভিস কনফিগার করে।
    • lib/: এখানে অ্যাপ্লিকেশনটির বাইরের লাইব্রেরি (JAR ফাইল) রাখা হয়।
    • classes/: এটি স্বয়ংক্রিয়ভাবে জেনারেটেড ক্লাস ফাইলগুলির জন্য ফোল্ডার।
    • tlds/: Tag Library Descriptor (TLD) ফাইলগুলি যদি কাস্টম ট্যাগ লাইব্রেরি ব্যবহার করা হয়, তবে সেগুলি এখানে থাকে।
  • index.jsp: অ্যাপ্লিকেশনের হোম পেজ বা অ্যাকশন যেখানে ব্যবহারকারী প্রথমে ঢোকেন।

৩. pom.xml (যদি Maven ব্যবহৃত হয়)

যদি আপনি Maven ব্যবহার করেন, তবে এই ফাইলটি আপনার প্রকল্পের ডিপেনডেন্সি, প্লাগইন, এবং অন্যান্য কনফিগারেশন ধারণ করবে।


Struts 2 কনফিগারেশন ফাইল

১. struts.xml

struts.xml হল Struts 2 এর প্রধান কনফিগারেশন ফাইল, যেখানে অ্যাকশন এবং ফলস্বরূপ (results) কনফিগার করা হয়। এটি অ্যাকশন, রিকোয়েস্ট ম্যাপিং, ইন্টারসেপ্টর, এবং রাউটিং কনফিগার করে।

উদাহরণ:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Struts//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="default" extends="struts-default">
        <action name="login" class="com.example.action.LoginAction" method="execute">
            <result name="success">/welcome.jsp</result>
            <result name="input">/login.jsp</result>
        </action>
    </package>
</struts>

ব্যাখ্যা:

  • package: এটি অ্যাকশন প্যাকেজের নাম সংজ্ঞায়িত করে। এখানে "default" প্যাকেজ ডিফাইন করা হয়েছে, যা struts-default-এ এক্সটেন্ড করা হয়েছে।
  • action: name অ্যাকশনের URL পাথ এবং class অ্যাকশন ক্লাসের পাথ নির্ধারণ করে।
  • result: ফলস্বরূপ, অর্থাৎ অ্যাকশন সফল হলে কোথায় রিডিরেক্ট হবে তা উল্লেখ করা হয়।

২. web.xml

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">
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/</url-pattern>
    </filter-mapping>
</web-app>

ব্যাখ্যা:

  • StrutsPrepareAndExecuteFilter: এটি Struts 2 ফিল্টার যা অ্যাকশন প্রক্রিয়া এবং রাউটিং পরিচালনা করে।
  • url-pattern: সব রিকোয়েস্টকে এই ফিল্টারের মাধ্যমে প্রক্রিয়া করতে এটি / পাথে ম্যাপ করা হয়েছে।

সারাংশ

Struts 2 ফ্রেমওয়ার্কটি একটি MVC (Model-View-Controller) আর্কিটেকচার অনুসরণ করে এবং Java-based ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। Struts 2 অ্যাপ্লিকেশনের ফোল্ডার স্ট্রাকচার এবং কনফিগারেশন ফাইলগুলো স্পষ্টভাবে আলাদা করে রেখেছে:

  • struts.xml ফাইলে অ্যাকশন, রিকোয়েস্ট ম্যাপিং এবং ফলস্বরূপ কনফিগার করা হয়।
  • web.xml ফাইলটি সার্ভলেট এবং ফিল্টার কনফিগারেশন পরিচালনা করে।
  • src/ ফোল্ডারে Java কোড থাকে, যেখানে অ্যাকশন ক্লাস এবং মডেল ক্লাস থাকে।
  • WebContent/ ফোল্ডারে JSP, HTML, এবং অন্যান্য ওয়েব কন্টেন্ট থাকে।

এভাবে, Struts 2 একটি মডুলার এবং কনফিগারেবল ফ্রেমওয়ার্ক হিসেবে কাজ করে, যা দ্রুত এবং স্কেলেবল ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...