- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
在本节教程中实现学生搜索功能,该功能主要流程如下:
- 1、搜索满足关键字的学生
- 2、跳转到学生列表显示搜索结果
搜索页面
当在学生列表首页搜索框中填入关键字点击搜索后将会把搜索操作交由SearchStudentServlet处理。代码如下:
<form action="${pageContext.request.contextPath}/SearchStudentServlet" method="post">
<%--搜索学生--%>
<input type="text" name="content" placeholder="请输入姓名或学号">
<input type="submit" value="搜索">
</form>
图示如下:
SearchStudentServlet
请在servlet包下创建SearchStudentServlet,代码如下:
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);
}
}
图示如下: