我完成了在本地构建Java动态Web应用程序的工作,现在我正试图将它部署在Digital Ocean上的一个液滴上。将Java .war应用程序部署到数字海洋Ubuntu
我在我的服务器上安装了jdk,mysql和tomcat,并且使用从eclipse导出的.war文件部署了我的应用程序。我还将一个mysql-connector-java文件复制到/ opt/tomcat/lib文件夹中。
但是,当我打开我的应用程序在服务器上,出现了这样的错误:
Error instantiating servlet class surveyExchange.my.SignUpServlet
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/UserInfo?useSSL=false.
我的代码如下所示:
static String url = "jdbc:mysql://localhost:3306/";
static String dbName = "UserInfo?useSSL=false";
static String driver = "com.mysql.jdbc.Driver";
static String userName = "root";
static String password = "******";
static Connection conn = null;
private static final long serialVersionUID = 1L;
/**
* @throws SQLException
* @see HttpServlet#HttpServlet()
*/
public SignUpServlet() throws SQLException {
super();
conn = DriverManager.getConnection(url + dbName, userName, password);
}
有在这条线的错误:
conn = DriverManager.getConnection(url + dbName, userName, password);
堆栈跟踪:
Exception
javax.servlet.ServletException: Error instantiating servlet class surveyExchange.my.SignUpServlet
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
Root Cause:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/UserInfo?useSSL=false
java.sql.DriverManager.getConnection(DriverManager.java:596)
java.sql.DriverManager.getConnection(DriverManager.java:215)
surveyExchange.my.SignUpServlet.<init>(SignUpServlet.java:34)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:526)
java.lang.Class.newInstance(Class.java:383)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
非常感谢您的耐心配合!
它看起来像这样:错误实例化servlet类surveyExchange.my.SignUpServlet java.sql.SQLException:找不到适合jdbc的驱动程序:mysql:// localhost:3306/UserInfo?useSSL = false。 – desperado
再取一个变量driver = URL + dbName;并传递这个参数.getConnection(driver,username,password) –
欢迎来到Stack Overflow!我不确定你的问题的答案是什么,但是你已经做了相当不错的工作,以确保包含所有必要的信息并且格式良好。我相信有人会很快回答。入住愉快! –