Servlet কি? গাইড ও নোট

Java Technologies - সার্ভলেটস (Servlets) - Servlets এর পরিচিতি
300

Servlet হলো জাভা ভিত্তিক একটি সার্ভার-সাইড টেকনোলজি, যা ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এটি ক্লায়েন্টের HTTP রিকোয়েস্ট গ্রহণ করে, সেই রিকোয়েস্ট প্রসেস করে এবং একটি HTTP রেসপন্স জেনারেট করে। Servlet মূলত জাভা EE (Java Enterprise Edition) প্ল্যাটফর্মের অংশ এবং Java Servlet API ব্যবহার করে তৈরি করা হয়।


Servlet কীভাবে কাজ করে?

Servlet একটি ওয়েব সার্ভারে রান করে এবং ক্লায়েন্ট-সার্ভার আর্কিটেকচার-এ কাজ করে। ক্লায়েন্ট (যেমন, ব্রাউজার) একটি HTTP রিকোয়েস্ট পাঠায়, এবং Servlet সেই রিকোয়েস্ট প্রসেস করে একটি রেসপন্স প্রদান করে।

Servlet প্রধানত ডাইনামিক কনটেন্ট (যেমন HTML, JSON) তৈরি করতে ব্যবহৃত হয় এবং এটি HTML ফর্ম প্রসেসিং, ডাটাবেস ইন্টারঅ্যাকশন, এবং RESTful API ডেভেলপমেন্ট এর জন্য আদর্শ।


Servlet-এর বৈশিষ্ট্য

  1. পোর্টেবল এবং প্ল্যাটফর্ম নিরপেক্ষ:
    Servlet জাভা ভিত্তিক হওয়ায় এটি যেকোনো জাভা সমর্থিত সার্ভারে চলতে পারে।
  2. ডাইনামিক কনটেন্ট তৈরির ক্ষমতা:
    Servlet ডাইনামিকভাবে HTML, JSON, বা XML ফাইল জেনারেট করতে পারে।
  3. সেশন ম্যানেজমেন্ট:
    ক্লায়েন্টের সেশন এবং ডেটা সংরক্ষণ করার ক্ষমতা রাখে।
  4. HTTP প্রোটোকল সাপোর্ট:
    Servlet HTTP রিকোয়েস্ট এবং রেসপন্সের জন্য বিল্ট-ইন সাপোর্ট প্রদান করে।
  5. বিল্ড-ইন নিরাপত্তা:
    Servlet ওয়েব অ্যাপ্লিকেশনের নিরাপত্তা বাড়ানোর জন্য SSL এবং HTTPS সাপোর্ট করে।

Servlet-এর কাজের ধাপ

  1. HTTP রিকোয়েস্ট গ্রহণ করা:
    ক্লায়েন্ট থেকে প্রাপ্ত রিকোয়েস্ট গ্রহণ করে।
  2. রিকোয়েস্ট প্রোসেস করা:
    ডাটাবেস বা অন্যান্য লজিক ব্যবহার করে রিকোয়েস্টের জন্য প্রয়োজনীয় ডেটা প্রোসেস করে।
  3. HTTP রেসপন্স তৈরি করা:
    প্রোসেসড ডেটার ভিত্তিতে HTML, JSON বা অন্যান্য ফর্ম্যাটে রেসপন্স পাঠায়।

Servlet API এবং প্রধান ইন্টারফেস

১. javax.servlet.Servlet ইন্টারফেস

Servlet API-র মূল ইন্টারফেস, যা প্রতিটি Servlet-কে বাস্তবায়ন করতে হয়।

মূল মেথডসমূহ:

  • init(): Servlet ইনিশিয়ালাইজ করার জন্য।
  • service(): রিকোয়েস্ট প্রোসেস এবং রেসপন্স তৈরি করার জন্য।
  • destroy(): Servlet ধ্বংস করার জন্য।

২. javax.servlet.http.HttpServlet ক্লাস

Servlet ইন্টারফেসের একটি HTTP-specific ইমপ্লিমেন্টেশন, যা HTTP রিকোয়েস্ট হ্যান্ডল করার জন্য ব্যবহৃত হয়।

মূল মেথডসমূহ:

  • doGet(): GET রিকোয়েস্ট প্রোসেস করার জন্য।
  • doPost(): POST রিকোয়েস্ট প্রোসেস করার জন্য।

Servlet Lifecycle

Servlet-এর লাইফসাইকেল তিনটি ধাপে বিভক্ত:

  1. Initialization:
    • init() মেথড কল হয়।
    • Servlet প্রথমবার লোড হলে এটি ইনিশিয়ালাইজ হয়।
  2. Request Handling:
    • service() মেথড কল হয়।
    • HTTP-specific হলে doGet() বা doPost() মেথড ব্যবহার হয়।
  3. Destruction:
    • destroy() মেথড কল হয়।
    • Servlet ধ্বংস হলে এটি কল হয় এবং রিসোর্স রিলিজ করা হয়।

একটি সাধারণ Servlet উদাহরণ

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>Hello, Servlet!</h1>");
        out.println("</body></html>");
    }
}

Servlet কনফিগারেশন

Servlet চালানোর জন্য এটি কনফিগার করতে হয় web.xml ফাইলে।

web.xml উদাহরণ:

<web-app>
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

Servlet-এর সুবিধা

  1. ক্লায়েন্ট-সার্ভার যোগাযোগ সহজ:
    Servlet ক্লায়েন্ট থেকে প্রাপ্ত ডেটা প্রসেস এবং সার্ভারে প্রেরণ সহজ করে।
  2. ডাইনামিক কনটেন্ট সাপোর্ট:
    HTML, JSON, এবং XML ডায়নামিকভাবে জেনারেট করা যায়।
  3. স্কেলেবল এবং কার্যক্ষম:
    বড় আকারের অ্যাপ্লিকেশনের জন্য উপযুক্ত।
  4. সিকিউরিটি সাপোর্ট:
    HTTPS এবং SSL-এর মাধ্যমে নিরাপদ যোগাযোগ নিশ্চিত করা যায়।
  5. পোর্টেবল এবং পুনঃব্যবহারযোগ্য:
    এটি যেকোনো জাভা সমর্থিত পরিবেশে ব্যবহারযোগ্য।

Servlet হলো জাভা EE পরিবেশে ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করার একটি শক্তিশালী টুল। এটি HTTP রিকোয়েস্ট এবং রেসপন্স ব্যবস্থাপনার মাধ্যমে ওয়েব ডেভেলপমেন্টকে সহজ, কার্যকর এবং নিরাপদ করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...