[英]Openshift - No suitable driver found for jdbc:mysql
我是Java和Servlet編程的新手。 我正在嘗試托管一個簡單的應用程序,該應用程序可以在localhost中成功運行。 但是當我將其托管到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
實時預覽 -(在編輯文本中輸入內容並提交)
您的Servlet容器需要以這種方式訪問jar文件。 例如,Tomcat可能在應用程序下的web-inf文件夾中想要類似mysql-connector-java-5.1.35-bin.jar
。 無論是什么,您都需要關注類路徑和servlet容器的設置。
如果您需要進一步的幫助,請在此下懸垂更多的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.