- Home ›
- サーブレット/JSP入門 ›
- データベース接続 ›
- HERE
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 )
JavaDrive