উদাহরণ সহ Request এবং Response ম্যানেজমেন্ট

Request এবং Response Handling - সার্ভলেটস (Servlets) - Java Technologies

266

Servlets ওয়েব অ্যাপ্লিকেশনে HTTP Request এবং HTTP Response পরিচালনা করতে ব্যবহৃত হয়।

  1. Request Management:
    • ক্লায়েন্ট (ব্রাউজার) থেকে প্রেরিত তথ্য সংগ্রহ এবং প্রক্রিয়াজাতকরণ।
    • উদাহরণ: ফর্ম ডেটা, কুকি বা হেডার ডেটা পড়া।
  2. Response Management:
    • সার্ভারের প্রক্রিয়াজাত ফলাফল ক্লায়েন্টকে পাঠানো।
    • উদাহরণ: HTML, JSON, বা রিডাইরেকশন।

HTTP Request এবং Response প্রক্রিয়া

  1. HTTP Request:
    • ক্লায়েন্ট সার্ভারে একটি HTTP রিকোয়েস্ট পাঠায়।
    • রিকোয়েস্টের ধরন:
      • GET: ডেটা ফেচ করার জন্য।
      • POST: ডেটা পাঠানোর জন্য।
      • PUT, DELETE: রিসোর্স ম্যানেজমেন্টের জন্য।
  2. HTTP Response:
    • সার্ভার ক্লায়েন্টকে প্রাসঙ্গিক রেসপন্স পাঠায়।
    • রেসপন্স ফরম্যাট:
      • HTML, JSON, XML ইত্যাদি।

উদাহরণ: Request এবং Response ম্যানেজমেন্ট

Step 1: Maven ডিপেনডেন্সি

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

Step 2: Request এবং Response পরিচালনার জন্য একটি Servlet তৈরি

RequestResponseServlet.java

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/request-response")
public class RequestResponseServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Request Management: Query Parameter পড়া
        String name = request.getParameter("name");
        String age = request.getParameter("age");

        // Response Management: HTML রেসপন্স পাঠানো
        response.setContentType("text/html");
        response.getWriter().println("<h1>Welcome " + name + "</h1>");
        response.getWriter().println("<p>Your age is: " + age + "</p>");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Request Management: Form Data পড়া
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        // Response Management: JSON রেসপন্স পাঠানো
        response.setContentType("application/json");
        response.getWriter().println("{\"username\": \"" + username + "\", \"status\": \"success\"}");
    }
}

Step 3: Client থেকে Request পাঠানো

GET Request উদাহরণ:

URL: http://localhost:8080/request-response?name=John&age=30

আউটপুট:

<h1>Welcome John</h1>
<p>Your age is: 30</p>

POST Request উদাহরণ:

curl -X POST -d "username=admin&password=1234" http://localhost:8080/request-response

আউটপুট:

{"username": "admin", "status": "success"}

Request Management বিস্তারিত

  1. Request Parameters পড়া:
    • GET এবং POST উভয়ের জন্য:

      String value = request.getParameter("key");
      
  2. Headers পড়া:

    String userAgent = request.getHeader("User-Agent");
    
  3. Cookies পড়া:

    Cookie[] cookies = request.getCookies();
    for (Cookie cookie : cookies) {
        System.out.println(cookie.getName() + ": " + cookie.getValue());
    }
    
  4. Session Management:

    HttpSession session = request.getSession();
    session.setAttribute("user", "John Doe");
    

Response Management বিস্তারিত

  1. Content Type সেট করা:

    response.setContentType("text/html");
    response.setContentType("application/json");
    
  2. Status Code সেট করা:

    response.setStatus(HttpServletResponse.SC_OK); // 200
    response.setStatus(HttpServletResponse.SC_NOT_FOUND); // 404
    
  3. Redirect করা:

    response.sendRedirect("http://www.example.com");
    
  4. Cookie সেট করা:

    Cookie cookie = new Cookie("user", "John Doe");
    cookie.setMaxAge(3600); // 1 ঘন্টা
    response.addCookie(cookie);
    
  5. Custom Headers সেট করা:

    response.setHeader("Custom-Header", "HeaderValue");
    

উদাহরণ: Cookies এবং Headers ম্যানেজমেন্ট

CookiesServlet.java

@WebServlet("/cookies")
public class CookiesServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        // Cookie সেট করা
        Cookie cookie = new Cookie("sessionID", "12345");
        cookie.setMaxAge(3600); // 1 ঘন্টা
        response.addCookie(cookie);

        // Headers সেট করা
        response.setHeader("Custom-Header", "CustomValue");

        response.setContentType("text/html");
        response.getWriter().println("<h1>Cookies and Headers Set Successfully!</h1>");
    }
}

Servlet Request এবং Response ম্যানেজমেন্ট এর কাজের ধারা

  1. Client Request: ক্লায়েন্ট সার্ভারে একটি HTTP Request পাঠায়।
  2. Servlet Request Object: Request Object সার্ভারের কাছে Request Data প্রেরণ করে।
  3. Servlet Logic: সার্ভার Request প্রসেস করে।
  4. Servlet Response Object: Response Object এর মাধ্যমে ক্লায়েন্টকে ফলাফল পাঠানো হয়।

উপসংহার

Servlets-এ Request এবং Response ম্যানেজমেন্ট অত্যন্ত গুরুত্বপূর্ণ একটি বিষয়। এর মাধ্যমে ক্লায়েন্ট থেকে প্রাপ্ত ডেটা প্রক্রিয়াজাত করে সার্ভারের ফলাফল ক্লায়েন্টকে পাঠানো হয়। এটি ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের অন্যতম প্রধান ভিত্তি।


Content added By
Promotion

Are you sure to start over?

Loading...