Servlet থেকে ডেটাবেস সংযোগ তৈরি করা (JDBC ব্যবহার)

Servlet এর মধ্যে Database Integration - সার্ভলেটস (Servlets) - Java Technologies

305

Servlet এবং JDBC একত্রে ব্যবহার করে সার্ভার-সাইডে ডেটাবেসের সঙ্গে সংযোগ তৈরি করে ডেটা রিড, রাইট, আপডেট এবং ডিলিট করা যায়। এটি ডায়নামিক ওয়েব অ্যাপ্লিকেশনের ডেটা ম্যানেজমেন্টের জন্য অত্যন্ত গুরুত্বপূর্ণ।


Servlet থেকে JDBC ব্যবহার করার ধাপসমূহ

1. ডেটাবেস ড্রাইভার যুক্ত করা

  • Maven-এ ড্রাইভার ডিপেনডেন্সি যোগ করতে হবে।

উদাহরণ: MySQL JDBC ড্রাইভার

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

2. ডেটাবেস তৈরি করা

SQL Script

CREATE DATABASE servlet_db;

USE servlet_db;

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(50) UNIQUE NOT NULL,
    department VARCHAR(50) NOT NULL
);

INSERT INTO employees (name, email, department) VALUES
('John Doe', 'john@example.com', 'HR'),
('Jane Smith', 'jane@example.com', 'IT');

3. Servlet থেকে ডেটাবেস সংযোগ তৈরি করা

EmployeeServlet.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;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

@WebServlet("/employees")
public class EmployeeServlet extends HttpServlet {

    private static final String JDBC_URL = "jdbc:mysql://localhost:3306/servlet_db";
    private static final String JDBC_USER = "root";
    private static final String JDBC_PASSWORD = "password";

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");

        try (Connection connection = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD);
             Statement statement = connection.createStatement();
             ResultSet resultSet = statement.executeQuery("SELECT * FROM employees")) {

            PrintWriter out = resp.getWriter();
            out.println("<h1>Employee List</h1>");
            out.println("<table border='1'><tr><th>ID</th><th>Name</th><th>Email</th><th>Department</th></tr>");

            while (resultSet.next()) {
                out.println("<tr>");
                out.println("<td>" + resultSet.getInt("id") + "</td>");
                out.println("<td>" + resultSet.getString("name") + "</td>");
                out.println("<td>" + resultSet.getString("email") + "</td>");
                out.println("<td>" + resultSet.getString("department") + "</td>");
                out.println("</tr>");
            }
            out.println("</table>");

        } catch (Exception e) {
            e.printStackTrace();
            resp.getWriter().println("<h3>Error fetching data: " + e.getMessage() + "</h3>");
        }
    }
}

4. ডেপ্লয়মেন্ট ডেসক্রিপ্টর (web.xml)

web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="3.0">
    <servlet>
        <servlet-name>EmployeeServlet</servlet-name>
        <servlet-class>EmployeeServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>EmployeeServlet</servlet-name>
        <url-pattern>/employees</url-pattern>
    </servlet-mapping>
</web-app>

5. ওয়েব অ্যাপ চালানো

  1. WAR ফাইল তৈরি করুন: mvn clean package
  2. Tomcat-এ ডেপ্লয় করুন: .war ফাইল webapps ফোল্ডারে কপি করুন।
  3. ব্রাউজারে অ্যাক্সেস করুন:
    • URL: http://localhost:8080/<app-name>/employees

আউটপুট

HTML টেবিল:

<h1>Employee List</h1>
<table border="1">
    <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Email</th>
        <th>Department</th>
    </tr>
    <tr>
        <td>1</td>
        <td>John Doe</td>
        <td>john@example.com</td>
        <td>HR</td>
    </tr>
    <tr>
        <td>2</td>
        <td>Jane Smith</td>
        <td>jane@example.com</td>
        <td>IT</td>
    </tr>
</table>

ডেটাবেস অপারেশন (CRUD) Servlet ব্যবহার করে

EmployeeServlet.java (CRUD Example)

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String name = req.getParameter("name");
    String email = req.getParameter("email");
    String department = req.getParameter("department");

    try (Connection connection = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD);
         Statement statement = connection.createStatement()) {

        String query = "INSERT INTO employees (name, email, department) VALUES ('" + name + "', '" + email + "', '" + department + "')";
        statement.executeUpdate(query);
        resp.getWriter().println("<h3>Employee added successfully!</h3>");
    } catch (Exception e) {
        e.printStackTrace();
        resp.getWriter().println("<h3>Error adding employee: " + e.getMessage() + "</h3>");
    }
}

Request এবং Response Management

  1. Request Parameters:
    • GET: request.getParameter("key");
    • POST: ফর্ম ডেটা গ্রহণ।
  2. Response Content:
    • HTML, JSON, বা XML আউটপুট।
  3. Error Handling:
    • Exception লগ এবং রেসপন্সে মেসেজ প্রদান।

উপসংহার

Servlet এবং JDBC একত্রে ব্যবহার করে সহজেই ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করা যায়। Servlet থেকে ডেটাবেস সংযোগ তৈরি করার সময় Exception Handling এবং Resource Management নিশ্চিত করতে হবে। এই পদ্ধতি ব্যবহার করে ডেটা ম্যানেজমেন্টের সব ধরণের অপারেশন (CRUD) করা সম্ভব।


Content added By
Promotion

Are you sure to start over?

Loading...