gpt4 book ai didi

java - Openshift - 找不到适合 jdbc :mysql 的驱动程序

转载 作者:行者123 更新时间:2023-11-29 01:55:02 26 4
gpt4 key购买 nike

我是 Java 和 Servlet 编程的新手。我正在尝试托管一个在本地主机上成功运行的简单应用程序。但是当我将它托管到 Openshift 时,它说 No suitable driver found for jdbc:mysql://127.12.204.2:3306/shifar 。我想要做的就是将一个字符串保存到数据库中。这是我的代码

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

private static final String
HOST = System.getenv("OPENSHIFT_MYSQL_DB_HOST"),
PORT = System.getenv("OPENSHIFT_MYSQL_DB_PORT"),
USERNAME = System.getenv("OPENSHIFT_MYSQL_DB_USERNAME"),
PASSWORD = System.getenv("OPENSHIFT_MYSQL_DB_PASSWORD"),
DB_NAME = "shifar";

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

String name = request.getParameter("userName");
PrintWriter pw = response.getWriter();

try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
pw.println("Error while loading driver: "+e.getMessage());
}

try {
String url = "jdbc:mysql://" + HOST + ":" + PORT +
"/" + DB_NAME;

Connection con = DriverManager.getConnection(url, USERNAME, PASSWORD);
PreparedStatement prep = con.prepareStatement("INSERT INTO names (name) VALUE (?)");
prep.setString(1, name);
int rc = prep.executeUpdate();
pw.println("Name saved !:"+name+" @ "+ rc);
} catch (SQLException e) {
pw.println("Error while connecting: "+e.getMessage());
}


}

}

我无法找出错误 :(。应用程序的部署是通过 Git 作为 .WAR

Live Preview - (在编辑文本中输入内容并提交)

最佳答案

您的 servlet 容器需要以其方式访问 jar 文件。例如 Tomcat 可能需要像 mysql-connector-java-5.1.35-bin.jar 这样的东西在应用程序下的 web-inf 文件夹中。您需要关注您的类路径和您的 servlet 容器的设置,不管那是什么。

如果您需要进一步的帮助,请在此下方挂上一个问题并提供更多详细信息。

关于java - Openshift - 找不到适合 jdbc :mysql 的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31390519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com