从前端jsp页面获取数据后,从数据库中查询相关信息并输出的代码怎么写
时间: 2024-03-04 15:48:04 浏览: 197
一个从数据库中查询数据的jsp动态网页实例
5星 · 资源好评率100%
假设你的前端JSP页面通过表单提交了一个参数(比如说一个用户名),你需要从数据库中查询相关信息并输出到页面上,可以使用如下代码:
```jsp
<%@ page import="java.sql.*" %>
<%
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 加载 JDBC 驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 建立数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase","username","password");
// 获取前端传递的参数
String username = request.getParameter("username");
// 执行参数化查询语句
String sql = "SELECT * FROM users WHERE username=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
rs = pstmt.executeQuery();
// 输出查询结果
while(rs.next()){
out.println(rs.getString("column1") + "<br>");
out.println(rs.getString("column2") + "<br>");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
try {
if(rs!=null) rs.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
%>
```
在上面的代码中,我们首先获取前端传递的参数(假设是一个名为username的参数),然后使用PreparedStatement对象执行了一个参数化查询语句。在查询语句中,我们使用了问号占位符来表示需要填充的参数,而后面的setString()方法则将前端传递的参数设置到了问号的位置上。这样可以有效防止SQL注入攻击。
最后,我们通过ResultSet对象遍历查询结果,并将结果输出到页面上。需要注意的是,代码中的mydatabase、username和password需要替换为你自己的数据库名称、用户名和密码,而mytable、column1和column2也需要根据你自己的需求进行修改。
阅读全文