Я видел несколько постов на эту тему, и, похоже, ни один из них не работает для меня. У меня есть простое приложение с сервлетом, которое я создал в intelliJ Ultimate:
Tomcat apache-tomcat-8.5.11
mysql-connector-java-8.0.13.jar
java 8
<Context>
<Resource>
name="jdbc/sys"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/sys"
username="root"
password="root"
</Resource>
</Context>
META-INF/context.xml
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>com.test.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/Servlet</url-pattern>
</servlet-mapping>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/sys</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
WEB-INF/web.xml
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
writer.println("GET method from AddServlet");
try {
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/sys");
Connection conn = ds.getConnection();
} catch (NamingException ex) {
System.err.println(ex);
} catch (SQLException ex) {
System.err.println(ex);
}
}
Теперь я поместил MySQL-коннектор как в мой webapp / lib, так и в tomcat / lib на всякий случай ..
, но все жея получаю эту ошибку:
java.sql.SQLException: Невозможно создать драйвер JDBC класса '' для URL подключения 'null'