You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于new.jsp页面实现从数据库中展示数据?

解决方案:基于JSTL SQL标签实现JSP数据库数据展示

一、核心实现步骤

你的代码已经引入了JSTL的核心标签库和SQL标签库,这是实现JSP直接操作数据库的基础。接下来可以按照以下步骤完善:

  1. 配置数据库连接
    在<body>标签内添加SQL标签的数据库连接配置,示例如下:

    <sql:setDataSource var="dbConn" 
                       driver="com.mysql.cj.jdbc.Driver"
                       url="jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC"
                       user="your_db_username"
                       password="your_db_password"/>
    

    注意替换其中的数据库驱动、URL、用户名和密码为你的实际数据库信息。

  2. 执行数据库查询
    使用<sql:query>标签执行查询语句,并将结果存储到变量中:

    <sql:query dataSource="${dbConn}" var="userList">
        SELECT id, username, email FROM users;
    </sql:query>
    

    这里以查询用户表(users)的id、用户名、邮箱为例,你可以根据实际需求修改SQL语句。

  3. 遍历结果集并展示数据
    使用JSTL的<c:forEach>标签遍历查询结果,将数据渲染到HTML表格中:

    <h2>用户列表</h2>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>用户名</th>
            <th>邮箱</th>
        </tr>
        <c:forEach var="user" items="${userList.rows}">
            <tr>
                <td>${user.id}</td>
                <td>${user.username}</td>
                <td>${user.email}</td>
            </tr>
        </c:forEach>
    </table>
    

二、完善后的完整代码示例

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP List Users Records</title>
</head>
<body>
    <!-- 配置数据库连接 -->
    <sql:setDataSource var="dbConn" 
                      driver="com.mysql.cj.jdbc.Driver"
                      url="jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC"
                      user="your_db_username"
                      password="your_db_password"/>

    <!-- 执行查询 -->
    <sql:query dataSource="${dbConn}" var="userList">
        SELECT id, username, email FROM users;
    </sql:query>

    <!-- 展示数据 -->
    <h2>用户列表</h2>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>用户名</th>
            <th>邮箱</th>
        </tr>
        <c:forEach var="user" items="${userList.rows}">
            <tr>
                <td>${user.id}</td>
                <td>${user.username}</td>
                <td>${user.email}</td>
            </tr>
        </c:forEach>
    </table>
</body>
</html>

三、注意事项与最佳实践

  • 依赖引入:确保你的Web项目中已经引入了JSTL的相关Jar包(jstl.jar和standard.jar),否则标签无法生效。
  • 避免直接在JSP中操作数据库:虽然JSTL SQL标签可以快速实现功能,但在实际生产环境中,更推荐采用MVC架构,将数据库操作逻辑封装在DAO(数据访问对象)层,JSP仅负责视图渲染,这样更便于维护和扩展。
  • 安全问题:不要硬编码数据库用户名和密码,建议通过配置文件(如web.xml或属性文件)来管理,避免敏感信息泄露。

内容的提问来源于stack exchange,提问作者srinivasarao jella

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:09:53