当前位置: 首页 > 知识库问答 >
问题:

由于servlet错误,无法建立数据库连接

阮飞翔
2023-03-14

在下面的代码中,我有两个文件。一个用于数据库连接,另一个用于基于html的jsp文件。我正在尝试检查数据库的版本并将其打印到屏幕上。我正在尝试返回CheckVersion的值,并使用out.println将其放到网页上。

jasperException:PWC6033:JSP的Javac编译错误

PWC6199:生成的servlet错误:包com.sun.xml.rpc.processor.modeler.j2ee.xml不存在

PWC6199:生成的servlet错误:包databaseFiles不存在

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package databaseFiles;

import com.sun.corba.se.impl.util.Version;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Aaron
 */
public class DatabaseManagement {
    private final String urlDB = "jdbc:mysql://correct:3306/javaBBS";
    private final String userDB = "correct";
    private final String passwordDB = "correct";
    Connection conDB = null;
    Statement st = null;
    ResultSet rs = null;

    /*
     * 
     * 
     */
    public DatabaseManagement() {

    }

    /*
     * 
     */
    public void OpenConnection()
    {
        try {
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch(Exception e) {
                System.out.println("Could not load database driver");
            }
            conDB = DriverManager.getConnection(urlDB, userDB, passwordDB);
        } catch(SQLException ex) {
            Logger lgr = Logger.getLogger(Version.class.getName());
            lgr.log(Level.SEVERE, ex.getMessage(), ex);
        }
    }

    /*
     * Closes the current database object
     */
    public void CloseConnection() {
        try {
            if (rs != null) {
                rs.close();
            }
            if (st != null) {
                st.close();
            }
            if (conDB != null) {
                conDB.close();
            }
        } catch (SQLException ex) {
            Logger lgr = Logger.getLogger(Version.class.getName());
            lgr.log(Level.WARNING, ex.getMessage(), ex);
        }
    }

     /**
     * Checks the database version
     */
    public String CheckVersion() throws SQLException {
        try {
            st = conDB.createStatement();
            rs = st.executeQuery("SELECT VERSION()");
        } catch(Exception e) {
            System.out.println("Could not get the version of the DB.");
        }
        if (rs.next()) {
            System.out.println(rs.getString(1));
        }
        return rs.getString(1);
    }
}

下面是index.jsp。

<%-- 
    Document   : index
    Created on : May 30, 2013, 1:48:03 PM
    Author     : Aaron
--%>

<%@page import="com.sun.xml.rpc.processor.modeler.j2ee.xml.string"%>
<%@page import="databaseFiles.DatabaseManagement"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
<%
    out.println("<br/>Your IP address is " + request.getRemoteAddr());
    String userAgent = request.getHeader("user-agent");
    String browser = "unknown";
    out.print("<br/>and your browser is ");
    if (userAgent != null) {
    if (userAgent.indexOf("MSIE") > -1) {
    browser = "MS Internet Explorer";
    }
    else if (userAgent.indexOf("Firefox") > -1) {
    browser = "Mozilla Firefox";
    }
    else if (userAgent.indexOf("Opera") > -1) {
    browser = "Opera";
    }
    else if (userAgent.indexOf("Chrome") > -1) {
    browser = "Google Chrome";
    }
    else if (userAgent.indexOf("Safari") > -1) {
    browser = "Apple Safari";
    }
    }
    out.println(browser);

    DatabaseManagement dbConnector = new DatabaseManagement();
    dbConnector.OpenConnection();
    out.println(dbConnector.CheckVersion());
    dbConnector.CloseConnection();
 %>
    </body>
</html>

共有1个答案

娄嘉石
2023-03-14

我认为你的项目布局是问题所在。应该是这样的:

root
    WEB-INF
        classes
            databaseFiles
                DatabaseManagement.class
    index.jsp

因此,应该将编译后的.class文件放在WEB-INF/classes目录中,而.jsp文件可以放在web应用程序根目录中的任何位置。另外,请确保使用的是。class文件,而不是。java文件。

 类似资料:
  • 我是非常新的WordPress。我将数据上传到cboard,但是当我试图借用链接来显示网站时,当我查看错误日志时,我得到了这条消息。 建立数据库连接时出错 有以下两条错误消息。我希望有人能帮助我。 PHP警告:require(/home/../public_html/wp includes/load.PHP):无法打开流:在/home/…中没有这样的文件或目录/公共html/wp设置。php第19

  • 我在连接spring JDBC时遇到了这个异常。我使用的是Oracle 11 XE。

  • 我被要求将大型独立Swing应用程序的数据库连接JAR从Eclipselink JPA 2.0迁移到Eclipselink JPA 3.0实现。 我看到一个很大的不同:Eclipselink 3.0使用雅加达。现在我所要做的就是连接到数据库,但到目前为止我一直没有成功,我不知道为什么。这是我的测试课: 当我运行这个时,我得到了这个异常。 异常告诉我我的persistence.xml或我正在使用的j

  • 问题内容: 我今天搬到了macOS,并重新创建了一个非常简单的数据库测试项目来检查mySQL连接。但是我收到一个SQL异常:“无法创建与数据库服务器的连接”。这是完整的日志: https //pastebin.com/iZrktVKn 我照搬了我在Windows上所做的每一步。在Windows上,一切都很好。我有一个context.xml,一个Servlet和一个connector.jar文件。该

  • 问题内容: 每次尝试运行程序时,我都尝试连接到本地计算机。我是一个小人物,所以在某个地方可能是一个简单的错误。 那就是导致错误的代码。主机和端口已定义。为什么会给我这个错误报告? [Errno 10061]无法建立连接,因为目标计算机主动拒绝了它 问题答案: 这是因为您尚未打开要连接的端口,所以那里没有监听。如果您尝试连接到Web或ftp服务器,请先启动它。如果您尝试连接到另一个端口,则也需要编写

  • 在Websphere Application Sever8.5和RAD 8.5.1上尝试配置JMS队列连接工厂/激活规范时,我得到以下错误: