質問: ### 前提・実現したいこと 現在、JSP/サーブレットの勉強をしています。 アプリケーションからDB接続(mysql)を実現したいです。 ### 発生している問題・エラーメッセージ DB接続がうまくいかなく、原因が特定できないです。 以下のエラーが出ます。 javax.servlet.ServletException: java.sql.SQLException: Cannot load JDBC driver class 'org.gjt.mm.mysql.Driver' org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:909) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:838) org.apache.jsp.lesson18.connect_jsp._jspService(connect_jsp.java:144) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 教本によると、META-INF配下のcontext.xmlにコードを記載するように書かれています。 ``` ソースコード(context.xml) ``` ### 試したこと mysqlサーバ(localhost)が起動できていること データベースの作成 ユーザ、パスワード Connector/Jの****.jarが正しく配置されていること は確認できています。
回答: driverClassName="org.gjt.mm.mysql.Driver" は現在だと古いドライバにも見えます。 インストールされているMySQLのメジャーバージョンにもよりますが、5.x系なら、MySQL公式の5.x系のインストーラつきJDBCドライバで導入できますので、この中から、mysql-connector-java.jarをコピーして使います。 Webアプリケーションならば、WEB-INF/lib の中にコピーしましょう。 そしてドライバクラス名は、driverClassName="com.mysql.jdbc.Driver" です。