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

带有数据库的Servlet在Eclipse中运行良好,但在服务器上崩溃?

公冶阳德
2023-03-14

我碰壁了,没有帮助我过不去。

我正在尝试使用Java Servlet为我的Android应用程序进行简单的登录和注册,问题是当我在Tomcat/Eclipse上本地运行它时,一切都正常,但当我在Heroku free服务器上部署WAR文件时,数据库部分似乎根本不起作用。

我怀疑这实际上是驱动程序的问题,但我无法获取日志,因为我通过我的Android应用程序连接到它。

我在freesqldatabase上部署了数据库。我将我的sql驱动程序放在tomcat Directority中,并在tomcat库中检查了1000次。很肯定JDBC驱动程序在部署时会导致问题,但我不知道为什么,应用程序的android部分一切正常。

以下是servlet的代码:

Connection connection = null;
boolean check = false;
//this part does not work online 

try {
    Class.forName("driver");

    connection = DriverManager.getConnection("jdbc:mysql://sql7.freesqldatabase.com/sql7112115", "sql7112115", "xxxxxxxxxxx");
    response.getWriter().append("4");
    String query = "select * from userdata where username = ? and pass = ? ";
    response.getWriter().append("5");

    PreparedStatement statement = connection.prepareStatement(query);
    statement.setString(1, "Sue");
    statement.setString(2, "Pass1");

    ResultSet result = statement.executeQuery();
    check = result.next();
    connection.close();
} catch (ClassNotFoundException e) {
    System.out.print("Driver error");
} catch (SQLException e) {
    System.out.print("SQL error");
}

if (check) {
    response.getWriter().append("Login succesful");
} else {
    response.getWriter().append("Login unsuccesful");
}
}

共有2个答案

扈高逸
2023-03-14

感谢您的回答!原来Heroku不允许这种构造-使用JDBC和第三方数据库以防止资源泄漏。我安装了他们的数据库,它工作正常!

曾山
2023-03-14

我注意到的第一件事是类。forName(“驱动程序”)。通常,您需要规范的类名,类似于com.mysql。jdbc。驱动程序。

 类似资料:
  • 尽管CAS服务器在Tomcat下工作得很好,但我有一些问题要使它在WebLogic12c下工作。在Weblogic上部署之前,我遵循以下指南:https://github.com/gentics/gentics-sso-cas/wiki/oracle-weblogic-configuration在webcontent/web-inf/with content中添加文件Weblogic.xml:

  • 我开发了一个React应用程序,它使用Laravel作为API。我已经通过Passport添加了登录,并且已经相当成功地使用了个人访问客户端方法。我可以添加新用户和令牌,我可以撤销令牌,我可以重置密码...所有的API调用(除了登录和注册)都由API中间件保护,它可以工作。如果我从任何这些调用的头中删除,则由于->middleware('auth:api')包装器,它将返回401未经验证。 一切都

  • 我已经使用TestNG注释和maven创建了脚本。它在Eclipse中运行,我也尝试运行testng。xml文件,看起来不错。然后我配置了Jenkins,但现在它没有运行。Jenkins给出的错误如下:(仅供参考:我以前已经成功构建了Jenkins,这怎么可能在一天内打破?) 在端口48847上启动ChromeDriver 72.0.3626.69(3C16F8A135ABC0D4DA2DF338

  • 我创建了一个JasperReport应用程序,它在tomcat服务器上运行良好。但是当我使用相同的jar在Jboss上运行时,它会显示错误 原因:java.lang.ClassCastException:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl无法强制转换为javax.xml.parsers.DocumentBuilderFactor.ne

  • 我一直在将泽西v2.19与Google AppEngine v1.9.22一起使用,它在本地devserver中运行良好,没有任何问题,但当我尝试将应用程序部署到appEngine时。我得到了多个异常 使用的框架: AppEngineJava1.9.22 泽西2.19 具体化5.1.5 Guice 3. x 格拉德勒 以下是我在日志中得到的例外: org.glassfish.jersey.inte

  • 下面的代码在Kotlin/Android中崩溃,底部提供了堆栈跟踪。它是从Java/Android转换而来的,后者没有这样的问题。还提供了原始Java代码。当我试图向密码字段添加字符时,会发生崩溃。编辑现有的字符工作得很好。 我有两个问题: Kotlin用Kotlin的CharSequence替换java.lang.CharSequence的动机是什么?这两者截然不同,我怀疑是它导致了崩溃。 有什