JavaWeb course design project practice (10) - project coding practice 7


  • The original author of this article: Brother Gu’s younger brother
  • Author blog address: http://blog.csdn.net/lfdfhl

insert image description here
In this section of the tutorial, the student search function is implemented. The main process of this function is as follows:

  • 1. Search for students who meet the keywords
  • 2. Jump to the student list to display the search results

search page

When you fill in keywords in the search box on the home page of the student list and click Search, the search operation will be handed over to SearchStudentServlet. code show as below:

    <form action="${pageContext.request.contextPath}/SearchStudentServlet" method="post">
        <%--搜索学生--%>
        <input type="text" name="content" placeholder="请输入姓名或学号">
        <input type="submit" value="搜索">
    </form>

The diagram is as follows:

insert image description here

SearchStudentServlet

Please create SearchStudentServlet under the servlet package, the code is as follows:

package com.cn.servlet;

import com.cn.util.C3P0Utils;
import com.cn.bean.Student;
import javax.servlet.RequestDispatcher;
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.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
/**
 * 本文作者:谷哥的小弟
 * 博客地址:http://blog.csdn.net/lfdfhl
 */

@WebServlet(name = "SearchStudentServlet", urlPatterns = "/SearchStudentServlet")
public class SearchStudentServlet extends HttpServlet {
    
    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        String content = request.getParameter("content");
        ArrayList<Student> studentArrayList = new ArrayList<Student>();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
    
    
            connection = C3P0Utils.getConnection();
            String sql = "SELECT * FROM student WHERE name like ? or id = ?";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setObject(1, "%" + content + "%");
            preparedStatement.setObject(2, content);
            preparedStatement.executeQuery();
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()) {
    
    
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                int age = resultSet.getInt("age");
                String gender = resultSet.getString("gender");
                String hobby = resultSet.getString("hobby");
                Student student = new Student(id, name, age, gender, hobby);
                studentArrayList.add(student);
            }
        } catch (Exception e) {
    
    
            e.printStackTrace();
        } finally {
    
    
            C3P0Utils.release(connection, preparedStatement, resultSet);
        }
        request.setAttribute("students", studentArrayList);
        RequestDispatcher requestDispatcher = request.getRequestDispatcher("/studentList.jsp");
        requestDispatcher.forward(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        doGet(request, response);
    }
}

The diagram is as follows:
insert image description here

Guess you like

Origin blog.csdn.net/lfdfhl/article/details/131709203