Java Servlet 中的 PostgreSQL 连接用于从数据库检索信息。出现错误

2023-12-11

我很难完成这项工作。我可以毫无问题地连接到数据库,但是我无法让它显示 html 页面。它不运行。

import java.io.*;
import java.sql.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ShowBedrock extends HttpServlet 
{
    public String getServletInfo()
    {
       return "Servlet connects to PostgreSQL database and displays result of a SELECT";
    }

    private Connection dbcon;  // Connection for scope of ShowBedrock

    // "init" sets up a database connection
    public void init(ServletConfig config) throws ServletException
    {
        String loginUser = "postgres";
        String loginPasswd = "supersecret";
        String loginUrl = "jdbc:postgresql://localhost/bedrock";

        // Load the PostgreSQL driver
        try 
        {
              Class.forName("org.postgresql.Driver");
              dbcon = DriverManager.getConnection(loginUrl, loginUser, loginPasswd);
        }
        catch (ClassNotFoundException ex)
        {
               System.err.println("ClassNotFoundException: " + ex.getMessage());
               throw new ServletException("Class not found Error");
        }
        catch (SQLException ex)
        {
               System.err.println("SQLException: " + ex.getMessage());
        }
    }

    // Use http GET

    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException
    {
        response.setContentType("text/html");    // Response mime type

        // Output stream to STDOUT
        PrintWriter out = response.getWriter();

        out.println("<HTML><Head><Title>Bedrock</Title></Head>");
        out.println("<Body><H1>Bedrock</H1>");

        try
        {
                // Declare our statement
                Statement statement = dbcon.createStatement();

                String query = "SELECT name, dept, ";
                query +=       "       jobtitle ";
                query +=       "FROM   employee ";

                // Perform the query
                ResultSet rs = statement.executeQuery(query);

                out.println("<table border>");

                // Iterate through each row of rs
                while (rs.next())
                {
                   String m_name = rs.getString("name");
                   String m_dept = rs.getString("dept");
                   String m_jobtitle = rs.getString("jobtitle");
                   out.println("<tr>" + 
                               "<td>" + m_name + "</td>" +
                               "<td>" + m_dept + "</td>" +
                               "<td>" + m_jobtitle + "</td>" +
                               "</tr>");
                }

                out.println("</table></body></html>");
                statement.close();
        }
        catch(Exception ex)
        {
                out.println("<HTML>" +
                            "<Head><Title>" +
                            "Bedrock: Error" +
                            "</Title></Head>\n<Body>" +
                            "<P>SQL error in doGet: " +
                            ex.getMessage() + "</P></Body></HTML>");
                return;
        }
        out.close();
    }
}

我收到以下错误有人知道为什么吗?:

javax.servlet.ServletException: Class not found Error
    ShowBedrock.init(ShowBedrock.java:42)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    java.lang.Thread.run(Unknown Source)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.

我收到以下错误有人知道为什么吗?

您收到该错误正文的原因是您的处理程序ClassNotFoundException is 扔掉原始异常堆栈跟踪。您正在将原始异常消息写入System.err但(显然)这不会进入正常的系统日志。 (您可能会在“catalina.out”文件中找到该消息...具体取决于 Tomcat 的配置/启动方式。)

正确的方法是链接异常;例如

    throw new ServletException("Class not found Error", e);

或者在捕获它时明确记录它。如果您确实明确记录它,请确保记录异常,而不仅仅是异常消息。


除非我们看到原始的异常堆栈跟踪,否则我们无法告诉您问题的实际根本原因......但两个最可能的原因是:

  • 类加载器找不到需要的类;例如因为 JAR 文件不在正确的位置。
  • 在您尝试加载的类的初始化过程中,某些类的类初始化失败。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Servlet 中的 PostgreSQL 连接用于从数据库检索信息。出现错误 的相关文章

  • 区域设置的 Java 日期格式

    我怎样才能找到DateFormat对于给定的Locale DateFormat getDateInstance int Locale 例如 import static java text DateFormat DateFormat f ge
  • Jersey 2 - ContainerRequestFilter get 方法注解

    我试图获取 ContainerRequestFilter 对象中的方法注释 控制器 GET RolesAllowed ADMIN public String message return Hello rest12 容器请求过滤器 Provi
  • 如何用Spring进行只读和读写的数据库路由

    我正在研究 Spring 中的事务路由 但我的应用程序存在运行时问题 我有两个 MySQL 数据库 一个用于读取 一个用于读 写 但是我的路由配置不起作用 当我应用只读配置时 我没有成功 这是我的配置 pom xml
  • JTable 中的格式化字段问题 - Integer 和 Double 之间的差异

    更新 已确认为错误当 columnClass 为 Double 时 JTable 无法将给定对象格式化为 Number 错误 ID 7051636 https bugs java com bugdatabase view bug bug i
  • 如何向正在运行的 Linux 进程发送 Ctrl-Break?

    我正在调试在 Sun 的 JDK 1 4 2 18 上运行的应用程序中的内存泄漏 该版本似乎支持命令行参数 XX HeapDumpOnCtrlBreak 这可能会导致 JVM 在遇到控制中断时转储堆 如何将其发送到 Linux 机器上的后台
  • JUnit 测试 Spymemcached 客户端

    我有一个类围绕spymemcached 客户端 我想编写一些JUnit 测试来测试getValue 和addKey 方法是否有效 问题是无法从测试服务器访问spymemcached 服务器 所以我想这里需要一些模拟 我的简化类看起来像这样
  • 如何在 Apache POI 中获取 Excel 空白单元格值?

    我有一个巨大的 Excel 文件 其中包含大量列 如下所示 Column1 Column2 Column3 Column4 Column5 abc def ghi mno pqr 这是我编写的用于打印这些值的代码 try FileInput
  • “找不到符号”或“无法解析符号”错误是什么意思?

    请解释以下有关 找不到符号 无法解析符号 或 找不到符号 错误 Java 中 的信息 他们的意思是什么 哪些因素会导致它们 程序员如何修复它们 这个问题旨在对 Java 中的这些常见编译错误进行全面的问答 0 这些错误之间有什么区别吗 并不
  • 在 Java 中从 Json 字符串中提取字段

    我正在尝试从以下 Json 字符串中提取每个 company id 的 id String test company id 4100 data drm user id 572901936637129135 direct status id
  • Spring数据异常处理

    我正在使用 Spring Data JPA 开发一个项目 我需要处理 JpaRepository 方法调用中的一些异常 在下面的代码中 我需要拦截主键违规错误 但无法直接捕获异常 就我而言 当发生此类异常时 存储库层 JpaReposito
  • java SWT透明复合背景

    我有复合对象 Composite composite new Composite shell SWT NONE composite setBounds new Rectangle 10 10 100 100 我如何使这个组合具有透明背景 我
  • HTML 解析和删除锚标记,同时使用 Jsoup 保留内部 html

    我必须解析一些html并删除锚标记 但我需要保留锚标记的innerHTML 例如 如果我的 html 文本是 String html div p some text a href some link text a p div 现在我可以解析
  • 动态添加组件到 JDialog

    当用户单击 JDialog 上的按钮时 我在将组件添加到 JDialog 时遇到问题 基本上我希望它看起来像这样 然后 当用户单击 添加新字段 时 我希望它看起来像这样 我似乎无法打开添加新 JLabel 或 JTextField 的对话框
  • 光线追踪三角形

    我正在用java编写一个光线追踪器 并且我能够追踪球体 但我相信我追踪三角形的方式有问题 据我了解 这是基本算法 首先确定射线是否与plane三角形已打开 剪裁所有点 使它们与三角形位于同一平面上 因此xy以平面为例 根据沿着新平面向任意方
  • 如何在java中将ojalgo稀疏数组存储到文件中?

    我目前有一个 SparseStore 矩阵 我在其中执行大量计数和计算 我想将其存储到文件中 以便以后可以重复使用它 而无需重新执行之前的所有计算 我尝试了 Java 中的基本序列化 ObjectOutputStream outputStr
  • 在 ant 脚本中包含外部 JAR 时出错

    这是我第一次尝试编写 ANT 脚本 这是我使用 Spring 构建的简单 Hello World 应用程序的 build xml
  • 当将 Eclipse 与 FindBugs 一起使用时,您可以将错误标记为非错误并将其从错误列表中删除吗?

    FindBugs 在我的代码中发现了潜在的错误 但这不是一个错误 是否可以将此事件标记为 不是错误 并将其从错误列表中删除 我已经非常清楚地记录了为什么每种情况都不是错误 例如 类实现类似的接口 它有compareTo方法 然而 我没有重写
  • 可以将矩形设置为显示边框吗?

    以下应用 public class Temp extends Application Override public void start Stage primaryStage StackPane root new StackPane Re
  • 如何获取eclipse中的工作空间路径? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在研究PDE Eclipse Plugin Project 我需要获取工作区路径 我的文本小部件 swt 应该设置为当前工作空间路径 如
  • 如何在jsf页面中嵌入java代码?

    我有 一个名为 LoginBean 的托管 bean 名为 login xhtml 的 JSF 页面 在这个 jsf 页面中 我有一个登录表单 在managebean 内部我有一个loginCheck 函数 public void logi

随机推荐

  • 用java抓取一个angularjs网站

    我需要抓取一个由 Angular 插入 内容的网站 而且需要用java来完成 我尝试过 Selenium Webdriver 因为我之前使用过 Selenium 来抓取动态性较低的网页 但我不知道如何处理 Angular 部分 除了页面头部
  • 命名空间命名约定

    对于那些编写可重用组件的人来说 如果要扩展 NET 框架的功能 您认为最佳实践是什么 例如 我目前正在创建一个 Pop3 库 因为 NET 中不存在该库 我是创建自定义命名空间还是使用System Net Mail 来自命名空间命名指南 命
  • 删除Python中每个元素的换行符

    我打开一个文本文件 现在文本文件中的每个元素都用换行符分隔 当我使用readlines 它将这个换行符保留在列表中 这是在每个元素之后 所以它看起来像这样 zebra n ant n 我想知道是否有一个简单的函数或代码片段可以用来删除该换行
  • 安装应用程序后,拖放不再起作用

    我有一个具有拖放功能来导入图像和视频的应用程序 在通过 Visual Studio 进行开发和测试时 从未出现过任何问题 通过设置项目安装后 应用程序中的所有内容都工作正常 除了拖放之外 这似乎什么也没做 是否有任何安全设置需要通过安装程序
  • java:单套接字读写操作。全双工

    我必须实现使用特定源端口发送数据 同时监听该端口 全双工 有谁知道如何在java上实现它 我尝试创建单独的线程来侦听套接字输入流 但它不起作用 我无法将 ServerSocket 和客户端套接字绑定到相同的源端口 并且与 netty 相同
  • 将具有固定大小数组的 C++ 结构编组到 C# 中

    我有一个 C 结构声明如下 public struct AdvertisementData public byte SomeId MarshalAs UnmanagedType LPArray SizeConst 12 public byt
  • 选择每组中的前三个值

    以下是我的示例表和行 create table com company text val int insert into com values com1 1 com1 2 com1 3 com1 4 com1 5 insert into c
  • 如何检查消息是否由特定用户发送discord.py

    我正在使用 Discord py 来制作我的 Discord 机器人 当有人输入消息时 我想检查用户是否是 foo 3645 然后执行某些操作 如果不是 则执行其他操作 if messageAuthor foo 3645 do someth
  • Spring boot 与 H2 数据库自动创建

    我通过 Spring Boot 在我的 Java 应用程序中使用嵌入式 H2 目前 它创建 覆盖 我在数据库中的表 但一旦我把它投入生产 我不希望我的表被擦除并重新创建 所以我不会丢失表中以前的数据 但我不知道如何实现这一点 不知道该放什么
  • 解析动态命名的 JSON 对象最有效的方法是什么?

    我正在尝试解析一个 JSON 响应 其中包含一些我不太熟悉的内容 而且我也没有经常在野外见过 在其中一个 JSON 对象内部 有一个动态命名的 JSON 对象 在这个例子中 里面有一个JSON对象 bugs named 12345 这与错误
  • 对轨迹进行重新采样,使每个样本中的欧氏距离相等

    假设我们有一个 x y 点列表 x 0 0 0 y 0 10 100 点之间的欧几里得距离现在为 10 90 我正在寻找一个接受x y 和sample rate 的函数 并且可以输出相等的距离点 例如 x 0 0 0 y 0 10 100
  • 是否可以绑定 WHERE 名称,如 %:name%

    我正在测试一个小型搜索功能 但我遇到了一个似乎无法解决的错误 您可以在此处查看 PDO 查询 search test1 later to be changes to POST search sql SELECT id name FROM c
  • 如何禁用 Django 的 CSRF 验证?

    我已经注释掉了 csrf 处理器和中间件行settings py 122 123 TEMPLATE CONTEXT PROCESSORS 124 django contrib auth context processors auth 125
  • Entity Framework Core 如何进行任何异步?

    public async Task
  • 我不知道Python中的s[::-1]是什么[重复]

    这个问题在这里已经有答案了 我一直看到这个 s 1 在Python中 我不知道它是做什么的 抱歉 如果这是一个问题 但我是 python 和一般编程的新手 它反转了一个sequence使用切片 gt gt gt s hello gt gt
  • PHP:“...的声明应该与...的声明兼容”

    我想为可 CRUD 可以保存和删除 的实体创建一个接口 这是我的抽象类 abstract class AbstractCrudableEntity extends AbstractEntity abstract public functio
  • 使用 Excel Power Query 使用的 Web API OData 服务进行 WAAD 身份验证

    我使用 OWIN 中间件创建了一个 WebAPI OData 3 0 Web 服务 该服务配置为使用 Windows Azure Active Directory 进行身份验证 ODataController 标有 Authorize 属性
  • 从同一个表中触发选择

    我想问一个关于触发器的问题 假设我有一个表 T 并且在更新之前需要一个触发器 但是 我有一个问题 我需要使用触发器中 T 的其他行来检查条件 我的问题是 哪些 RDBMS 支持此功能 我可以在哪里编写在触发器触发的同一个表上执行选择的触发器
  • 为什么 R 中 "" == true

    我刚刚开始学习 R 在我的第一个作业中 我面临一个问题 我需要比较一堆变量 在这样做时 我应该在比较两个变量时得到错误 不仅当它们不相等时 而且当它们的类型不一样 例如 7 7 给出 true 应该是 false 目前 我正在做同样的事情
  • Java Servlet 中的 PostgreSQL 连接用于从数据库检索信息。出现错误

    我很难完成这项工作 我可以毫无问题地连接到数据库 但是我无法让它显示 html 页面 它不运行 import java io import java sql import java text import java util import