Я пытаюсь запустить веб-приложение, которое получает определенную длину чисел от пользователя и проверяет ее по базе данных (поэтому, если пользователь сделал опечатку, он предложит, какой ключ на самом деле имел в виду пользователь).Проблема, с которой я сталкиваюсь, состоит в том, что приложение не подключается к базе данных, я получаю эту ошибку:
java.lang.NullPointerException
в Validator.Validate.checkIDs (Validate.java: 410)
в Validator.Validate.getAllValidIds (Validate.java:203)
в Python.WebServlet.processRequest (WebServlet.java:70)
в Python.WebServlet.doPost (WebServlet.jpg: 247)
в javax.servlet.http.HttpServlet.service (HttpServlet.java:641)
в javax.servlet.http.HttpServlet.service (HttpServlet.java:722)
в org.ache.catalina.core..invoke (StandardWrapperValve.java:224)
в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:169)
в org.apache.catalina.authenticator.AuthenticatorBase.invokeatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:168)
в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java)
в org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:927) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118)
в org.ap..connector.CoyoteAdapter.service (CoyoteAdapter.java:407)
в org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:987)
в org.apache.coyote.Abю(AbstractProtocol.java:579)
в org.apache.tomcat.util.net.AprEndpoint $ SocketProcessor.run (AprEndpoint.java:1805)
в java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExec.java: 886)
в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:908)
в java.lang.Thread.run (Thread.java:662)
Линия410 в Validator.Validate:
Statement stmt = Conn.createStatement();
Где Conn - это переменная java.sql.Connection
Строка 203 - это вызов метода, который выполняет оператор ^
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
в org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1701)
в org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1546)
в java.lang.Class.forName0 (собственный метод)
в java.lang.Class.forName (Class.java:169)
в Validator.Validate.dbConnect (Validate.java:394)
в Validator.Validate.getAllValidIds (Validate.java:193)
в Python.WebServlet.processRequest (WebServlet.java:70)
в Python.WebServlet.doPost (WebServlet.java:247)
в javax.servlet.http.HttpServlet.service (HttpServlet.java:641)
в javax.servlet.http.HttpServlet.service (HttpServ:)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:305)
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210)
в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.jpg)
at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:472)
.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:168)
в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:98)
в org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:927)
в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118)
в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:407)
в org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.java:579)
в org.apache.tomcat.util.net.AprEndpoint $ SocketProcessor.run (AprEndpoint.java:1805)
в java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:886)
в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:908)
at java.lang.Thread.run (Thread.java:662)
Это ошибка, которую я получаю на своем сервере, если я запускаю ее на локальном компьютере, она работает просто отлично (проверяет идентификатор). В чем может быть проблема здесь? Не может ли он не найти класс com.mysql.jdbc.Driver? Это проблема класса?
Спасибо за совет / помощь заранее!
Примечание:
Класс Validator - это внешний jar, который находится в моем пути к классам. Он вызывает другой jar в своем пути к классам, который содержит классы com.mysql.jdbc, как вы можете видеть на следующих рисунках
В банку BugValidator входит баночка mysql-разъема, которая имеет класс Drivers