JSP(JavaServer Pages)是一种用于创建动态Web页面的技术,它允许在HTML或XML文档中嵌入Java代码片段和表达式。实现搜索功能通常涉及以下几个步骤:
在JSP页面中创建一个表单,允许用户输入搜索关键词。
<form action="search" method="get">
<input type="text" name="query" placeholder="Enter search term...">
<input type="submit" value="Search">
</form>创建一个Servlet来接收表单提交的数据,并执行数据库查询。
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 query = request.getParameter("query");
// 执行数据库查询
List<String> results = searchDatabase(query);
request.setAttribute("results", results);
RequestDispatcher dispatcher = request.getRequestDispatcher("results.jsp");
dispatcher.forward(request, response);
}
private List<String> searchDatabase(String query) {
List<String> results = new ArrayList<>();
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable WHERE column LIKE '%" + query + "%'");
while (rs.next()) {
results.add(rs.getString("columnName"));
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return results;
}
}创建一个新的JSP页面来显示搜索结果。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Search Results</title>
</head>
<body>
<h1>Search Results</h1>
<ul>
<% for (String result : (List<String>) request.getAttribute("results")) { %>
<li><%= result %></li>
<% } %>
</ul>
</body>
</html>String sql = "SELECT * FROM mytable WHERE column LIKE ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "%" + query + "%");
ResultSet rs = pstmt.executeQuery();try {
// 数据库操作
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
}通过以上步骤和注意事项,可以实现一个基本的JSP搜索功能,并确保其安全性和效率。
没有搜到相关的文章