不良使 2022-02-26 19:22 采纳率: 100%
浏览 17
已结题

Java Web怎么使用HttpServlet把数据库数据再网页上show出来

问题遇到的现象和发生背景

数据库里面有数据且可以把数据读出来,但是已放到HttpServlet下就放不到页面上 (可以读取出数据库内容到控制台)

问题相关代码,请勿粘贴截图
package com.bjpowernode.javaweb.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

@WebServlet(name = "Show", value = "/Show")
public class Show extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setCharacterEncoding("GBK");
            System.out.println("从这里开始");
            response.getWriter().print("<h1>");
            response.getWriter().print("世界,你好");
            response.getWriter().print("</h1>");

            Connection conn = null;
            Statement stmt = null;
            ResultSet rs = null;
            try {
                //注册驱动
                Class.forName("com.mysql.jdbc.Driver");
                //获取连接
                conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mofa", "root", "123456");
                //获取数据库操作对象
                stmt = conn.createStatement();
                //执行sql
                String sql = "select * from auth_group";
                stmt=conn.prepareStatement(sql);
                rs = stmt.executeQuery(sql);
                while (rs.next()) {
                    String id = rs.getString("id");
                    String name = rs.getString("name");     
                    System.out.println(id + "," + name );
                    response.getWriter().println("世界");
                    response.getWriter().println(id+","+name);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                //释放资源
                if (rs != null) {
                    try {
                        rs.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                if (stmt != null) {
                    try {
                        stmt.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                if (conn != null) {
                    try {
                        conn.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}


运行结果及报错内容

只能show出里面写死的 世界,你好 ,没办法将数据库内容show出来

我的解答思路和尝试过的方法
我想要达到的结果

将数据库的数据再web页面上show出来

  • 写回答

1条回答 默认 最新

  • Bug 终结者 Java领域优质创作者 2022-02-27 09:36
    关注

    从数据库拿到数据后,将数据放入字符串中,再通过response.write(str)写入,即可在浏览器显示

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 创建了问题 2月26日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改