JSP(JavaServer Pages)是一种用于创建动态Web页面的技术,它允许在HTML或XML文档中嵌入Java代码片段和表达式。模糊查询是一种数据库查询技术,用于在数据库中查找与指定模式匹配的数据。在JSP中实现搜索框的模糊查询通常涉及以下几个步骤:
LIKE
语句实现。LIKE '关键字%'
LIKE '%关键字'
LIKE '%关键字%'
LIKE
语句进行模糊查询。<form action="searchServlet" method="get">
<input type="text" name="keyword" placeholder="请输入搜索关键字">
<button type="submit">搜索</button>
</form>
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class SearchServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String keyword = request.getParameter("keyword");
if (keyword != null && !keyword.isEmpty()) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
String sql = "SELECT * FROM mytable WHERE column LIKE ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "%" + keyword + "%");
ResultSet rs = pstmt.executeQuery();
request.setAttribute("results", rs);
RequestDispatcher dispatcher = request.getRequestDispatcher("results.jsp");
dispatcher.forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
} else {
response.sendRedirect("search.jsp");
}
}
}
<%@ page import="java.sql.*" %>
<table>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
<% ResultSet rs = (ResultSet) request.getAttribute("results");
while (rs.next()) { %>
<tr>
<td><%= rs.getInt("id") %></td>
<td><%= rs.getString("name") %></td>
</tr>
<% } %>
</table>
PreparedStatement
而不是Statement
来防止SQL注入。通过以上步骤和代码示例,可以在JSP中实现一个基本的模糊查询功能。
领取专属 10元无门槛券
手把手带您无忧上云