基于Jdbc的编程:设计一个查询页面queryjsp对userinfo库中的user表中数据进行查询若找到显示相关信息否则显示没有要找的记录提示数据表结构如下图所示。
以下是基于Jdbc的编程实现查询页面query.jsp:
- 首先在query.jsp页面中添加一个表单,包含一个输入框和一个提交按钮,用于输入查询条件和提交查询请求。
<form method="post" action="query_result.jsp">
<label>请输入用户名:</label>
<input type="text" name="username">
<input type="submit" value="查询">
</form>
- 在query_result.jsp页面中,获取用户输入的查询条件,并构造SQL语句进行查询。查询成功后,将结果显示在页面上。
<%@ page import="java.sql.*" %>
<%
String username = request.getParameter("username");
String sql = "select * from user where username='" + username + "'";
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/userinfo";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
out.print("<table>");
out.print("<tr><td>用户名:</td><td>" + rs.getString("username") + "</td></tr>");
out.print("<tr><td>密码:</td><td>" + rs.getString("password") + "</td></tr>");
out.print("<tr><td>邮箱:</td><td>" + rs.getString("email") + "</td></tr>");
out.print("</table>");
} else {
out.print("没有要找的记录");
}
rs.close();
stmt.close();
conn.close();
%>
- 注意:上述代码中构造SQL语句时使用了字符串拼接,存在SQL注入的风险。为了避免这种风险,应该使用预编译语句,如下所示:
String sql = "select * from user where username=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
ResultSet rs = pstmt.executeQuery();
``
原文地址: https://www.cveoy.top/t/topic/fuDu 著作权归作者所有。请勿转载和采集!