crud in servlet
In Java, CRUD (Create, Read, Update, Delete) operations can be implemented in Servlets to interact with a database or another data source. Servlets can act as controllers that receive HTTP requests, process them, and send back responses. Here's an example of a simple Servlet that implements CRUD operations using JDBC:
import java.io.IOException; import java.sql.*; import javax.servlet.ServletException; import javax.servlet.http.*; public class StudentServlet extends HttpServlet { private Connection connection; @Override public void init() throws ServletException { try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password"); } catch (ClassNotFoundException | SQLException e) { throw new ServletException(e); } } @Override public void destroy() { try { if (connection != null) { connection.close(); } } catch (SQLException e) { // Ignore } } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { String action = request.getParameter("action"); if ("list".equals(action)) { listStudents(request, response); } else if ("edit".equals(action)) { showEditForm(request, response); } else if ("delete".equals(action)) { deleteStudent(request, response); } else { response.sendError(HttpServletResponse.SC_BAD_REQUEST); } } catch (SQLException e) { throw new ServletException(e); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { String action = request.getParameter("action"); if ("create".equals(action)) { createStudent(request, response); } else if ("update".equals(action)) { updateStudent(request, response); } else { response.sendError(HttpServletResponse.SC_BAD_REQUEST); } } catch (SQLException e) { throw new ServletException(e); } } private void listStudents(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException { Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM students"); request.setAttribute("students", resultSet); request.getRequestDispatcher("list.jsp").forward(request, response); } private void showEditForm(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException { int id = Integer.parseInt(request.getParameter("id")); PreparedStatement statement = connection.prepareStatement("SELECT * FROM students WHERE id = ?"); statement.setInt(1, id); ResultSet resultSet = statement.executeQuery(); if (resultSet.next()) { request.setAttribute("student", resultSet); request.getRequestDispatcher("edit.jsp").forward(request, response); } else { response.sendError(HttpServletResponse.SC_NOT_FOUND); } } private void createStudent(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException { String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age")); PreparedStatement statement = connection.prepareStatement("INSERT INTO students (name, age) VALUES (?, ?)"); statement.setString(1, name); statement.setInt(2, age); statement.executeUpdate(); response.sendRedirect("student?action=list"); } private void updateStudent(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException { int id = Integer.parseInt(request.getParameter("id")); String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age")); PreparedStatement statement = connection.prepareStatement("UPDATE students SET name = ?, age = ? WHERE id = ?"); statement.setString(1, name); statement.setInt(2, age); statement.setInt(3, idSource:tfigi.wwwidea.com