Я закончил создание динамического веб-приложения java локально, и теперь я пытаюсь развернуть его на капельке Digital Ocean.Развертывание приложения Java .war для цифрового океана Ubuntu
Я установил jdk, mysql и tomcat на свой сервер, и я развернул свое приложение, используя файл .war, экспортированный из eclipse. Я также скопировал файл 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)
Благодарим вас за терпение!
Это выглядит так: Ошибка создания экземпляра класса сервлетовExchange.my.SignUpServlet java.sql.SQLException: Не найдено подходящего драйвера для jdbc: mysql: // localhost: 3306/UserInfo? UseSSL = false. – desperado
Возьмите еще один драйвер переменной = URL + dbName; и передать этот аргумент .getConnection (драйвер, имя пользователя, пароль) –
Добро пожаловать в Stack Overflow! Я не уверен, что ответ на ваш вопрос, но вы неплохо сделали, чтобы убедиться, что вся необходимая информация включена и хорошо отформатирована. Я уверен, что кто-то скоро ответит. Наслаждайтесь своим пребыванием! –