JSP(JavaServer Pages)是一种用于创建动态Web内容的技术,它允许在HTML页面中嵌入Java代码。条件搜索功能通常涉及到用户输入的查询参数,然后根据这些参数从数据库中检索数据并在页面上显示结果。
以下是一个简单的JSP条件搜索功能的示例代码:
<!DOCTYPE html>
<html>
<head>
<title>条件搜索</title>
</head>
<body>
<h1>搜索信息</h1>
<form action="search.jsp" method="get">
<label for="keyword">关键词:</label>
<input type="text" id="keyword" name="keyword">
<input type="submit" value="搜索">
</form>
</body>
</html><%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>搜索结果</title>
</head>
<body>
<h1>搜索结果</h1>
<%
// 获取搜索关键词
String keyword = request.getParameter("keyword");
if (keyword != null && !keyword.trim().isEmpty()) {
// 数据库连接配置
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, username, password)) {
// 准备SQL查询语句
String sql = "SELECT * FROM mytable WHERE name LIKE ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "%" + keyword + "%");
// 执行查询
ResultSet rs = pstmt.executeQuery();
// 显示结果
if (!rs.next()) {
out.println("<p>没有找到匹配的结果。</p>");
} else {
do {
out.println("<p>" + rs.getString("name") + "</p>");
} while (rs.next());
}
} catch (SQLException e) {
out.println("<p>数据库错误: " + e.getMessage() + "</p>");
}
} else {
out.println("<p>请输入搜索关键词。</p>");
}
%>
</body>
</html>PreparedStatement可以有效防止SQL注入攻击。PreparedStatement而不是直接拼接SQL字符串。这个示例提供了一个基本的框架,实际应用中可能需要根据具体需求进行调整和扩展。
没有搜到相关的文章