DispatcherServlet এর কাজ এবং তার সাথে Controller, Model, View এর সম্পর্ক

Spring MVC (Model-View-Controller) Framework - স্প্রিং (Spring) - Java Technologies

322

Spring ফ্রেমওয়ার্কে DispatcherServlet হলো Spring Web MVC আর্কিটেকচারের কেন্দ্রীয় উপাদান। এটি ফ্রন্ট কন্ট্রোলার ডিজাইন প্যাটার্ন অনুসরণ করে, যা একটি একক এন্ট্রি পয়েন্ট হিসাবে কাজ করে এবং HTTP রিকোয়েস্ট প্রক্রিয়াকরণ পরিচালনা করে।


DispatcherServlet কী?

DispatcherServlet একটি বিশেষায়িত Servlet যা একটি ওয়েব অ্যাপ্লিকেশনে Controller, Model, এবং View এর মধ্যে সমন্বয় করে। এটি ব্যবহারকারীর রিকোয়েস্ট গ্রহণ করে, সংশ্লিষ্ট Controller-এ পাঠায়, ডেটা মডেল প্রস্তুত করে এবং অবশেষে একটি ভিউতে রেসপন্স রেন্ডার করে।


DispatcherServlet এর কাজ

  1. রিকোয়েস্ট গ্রহণ:
    DispatcherServlet ব্যবহারকারীর HTTP রিকোয়েস্ট গ্রহণ করে।
  2. Handler Mapping:
    রিকোয়েস্টটি কোন Controller-এর কাছে যাবে তা নির্ধারণ করে।
  3. Controller-এ পাঠানো:
    সংশ্লিষ্ট Controller রিকোয়েস্ট প্রক্রিয়াকরণ শুরু করে।
  4. মডেল তৈরি:
    Controller রিকোয়েস্ট প্রক্রিয়ার পরে একটি Model অবজেক্ট তৈরি করে ডেটা প্রস্তুত করে।
  5. View Resolver:
    DispatcherServlet নির্ধারণ করে কোন View ব্যবহার করে রেসপন্স পাঠানো হবে।
  6. Response রেন্ডারিং:
    নির্ধারিত View-তে ডেটা যুক্ত করে রেসপন্স পাঠানো হয়।

DispatcherServlet এর সাথে Controller, Model, এবং View এর সম্পর্ক

Controller

Controller হলো Spring MVC-এর একটি উপাদান, যা DispatcherServlet থেকে রিকোয়েস্ট গ্রহণ করে এবং ব্যবসায়িক লজিক প্রক্রিয়াকরণ করে।

  • কাজ:
    রিকোয়েস্ট হ্যান্ডেল করে এবং প্রাসঙ্গিক ডেটা মডেল তৈরি করে।
  • অ্যানোটেশন:
    @Controller বা @RestController ব্যবহার করা হয়।

উদাহরণ:

@Controller
public class HomeController {

    @GetMapping("/home")
    public String home(Model model) {
        model.addAttribute("message", "Welcome to Spring MVC!");
        return "home";
    }
}

Model

Model হলো ডেটা ধারণ করার একটি অবজেক্ট, যা View-তে পাঠানো হয়। Controller মডেল তৈরি করে ডেটা প্রস্তুত করে।

  • কাজ:
    ডেটা পাস করে যা View-তে প্রদর্শিত হয়।

উদাহরণ:

model.addAttribute("message", "Welcome to Spring MVC!");

View

View হলো ব্যবহারকারীর কাছে রেসপন্স রেন্ডার করার দায়িত্বপ্রাপ্ত অংশ। এটি সাধারণত HTML, JSP, বা Thymeleaf টেমপ্লেট ফাইলের মাধ্যমে ডেটা রেন্ডার করে।

  • কাজ:
    মডেলের ডেটা ব্যবহার করে রেসপন্স রেন্ডার করা।
  • টুল:
    Thymeleaf, JSP, FreeMarker ইত্যাদি।

উদাহরণ (Thymeleaf):

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Home</title>
</head>
<body>
    <h1 th:text="${message}"></h1>
</body>
</html>

DispatcherServlet এর কাজের ধাপ (Work Flow)

  1. ব্যবহারকারী একটি HTTP রিকোয়েস্ট পাঠায়।
  2. DispatcherServlet রিকোয়েস্ট গ্রহণ করে।
  3. Handler Mapping এর সাহায্যে নির্ধারণ করে কোন Controller রিকোয়েস্ট প্রক্রিয়া করবে।
  4. Controller রিকোয়েস্ট প্রক্রিয়াকরণ করে একটি মডেল তৈরি করে।
  5. DispatcherServlet, View Resolver-এর সাহায্যে নির্ধারণ করে কোন View ব্যবহার করা হবে।
  6. View মডেলের ডেটা ব্যবহার করে HTML রেন্ডার করে রেসপন্স পাঠায়।

DispatcherServlet এর আর্কিটেকচার

[Client] ---> [DispatcherServlet] ---> [Controller] ---> [Model] ---> [View Resolver] ---> [View] ---> [Client]

DispatcherServlet Spring MVC আর্কিটেকচারের কেন্দ্রীয় উপাদান, যা Controller, Model এবং View-এর মধ্যে সমন্বয় করে। এর মাধ্যমে ব্যবহারকারীর রিকোয়েস্ট থেকে শুরু করে রেসপন্স রেন্ডারিং পর্যন্ত পুরো প্রক্রিয়া কার্যকরভাবে সম্পন্ন হয়।

Content added By
Promotion

Are you sure to start over?

Loading...