- Home ›
- サーブレット/JSP入門 ›
- データベース接続
JDBCドライバのロード
ではここからデータベースへの接続を開始します。
データベースに接続するためには、まずJDBCドライバをロードします。MySQLの場合は次のように行います。
try { Class.forName("com.mysql.jdbc.Driver").newInstance(); }catch (ClassNotFoundException e){ }catch (Exception e){ }
簡単に説明しますとClassクラスと言うのは、Javaにおけるクラスやインターフェースを表すものです。特定のクラスを利用するには「Class.forName(クラス名)」とクラス名を指定して"forName"メソッドを実行します。
そして、指定したクラスのインスタンスを作成するには"newInstance"メソッドを使います。これで指定したクラスのインスタンスが作成されました。
※良く分からない説明だと思いますが、私もよく理解していません。
それではまずドライバのロードが出来るかどうかの確認をしてみましょう。
サンプルプログラム
今回作成するWebアプリケーションのパスは「database」とし、Webアプリケーションの置き場所は「d:\servlet-sample\database\」としました。コンテキストファイルは下記のようになります。
<Context path="/database" docBase="d:/servlet-sample/database"/>
web.xmlファイルは下記のようにしました。
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>databasetest</servlet-name> <servlet-class>DatabaseTest</servlet-class> </servlet> <servlet-mapping> <servlet-name>databasetest</servlet-name> <url-pattern>/databasetest</url-pattern> </servlet-mapping> </web-app>
プログラムは下記の通りです。
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DatabaseTest extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ response.setContentType("text/html; charset=Shift_JIS"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>データベーステスト</title>"); out.println("</head>"); out.println("<body>"); String msg = ""; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); msg = "ドライバのロードに成功しました"; }catch (ClassNotFoundException e){ msg = "ドライバのロードに失敗しました"; }catch (Exception e){ msg = "ドライバのロードに失敗しました"; } out.println("<p>"); out.println(msg); out.println("</p>"); out.println("</body>"); out.println("</html>"); } }
上記をコンパイル後に「d:\servlet-sample\database\WEB-INF\classes\」ディレクトリにクラスファイルを移動した後で、ブラウザで「http://localhost:8080/database/databasetest」へアクセスしてみます。
上記のように表示されれば無事JDBCドライバのロードは出来ています。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。