Tomcatを使って、MySQLのデータベースにアクセスする簡単なJSPを書いてみる。

Tomcatを使って、MySQLのデータベースにアクセスする簡単なJSPを書いてみた。
このエントリーは、その備忘録。

TomcatMySQLがインストールされている状態からスタートする。



Tomcatのインストール方法は過去のエントリーを参照
http://d.hatena.ne.jp/Michael_e29/20110922/1316697288


MySQLのインストール方法は過去のエントリーを参照
http://d.hatena.ne.jp/Michael_e29/20110528/1306593149



MySQLのユーザー登録

MySQLには、すでにデータが入っている状態からスタートする。
CSVファイルをMySQLにインポートする方法は、過去のエントリーを参照
http://d.hatena.ne.jp/Michael_e29/20110602/1307014127


外部のプログラムと、MySQLを連携させるために、ユーザー登録をしておく必要がある。

mysql> GRANT ALL ON hogedata.*
    -> TO 'hoge'@'localhost' IDENTIFIED BY 'hogehoge';

GRANT ALL ON hogedata.*で、hogedataすべてのテーブルの操作権限を与えている。
TO 以下に登録したいユーザ名を指定する。ここではlocalhosthogeというユーザを指定している。
IDENTIFIED BY 以下にはパスワードを書き込む。



JDBCドライバのインストール

JSPからMySQLにアクセスするにはJDBCドライバが必要となる。
MySQLのWebサイトからダウンロードする。
http://dev.mysql.com/downloads/connector/j/
ダウンロードしたzipファイルを展開する。必要なのはmysql-connecter-java-5.*.*-bin.jarだけである。このファイルをTomcatのインストールディレクトリにあるcomon/libに保存しておく。私の環境の場合、フルパスは/use/share/tomcat5/comon/libになる。


MySQLのデータベースにアクセスするJSPを書く

JSPを置く場所は、Tomcatのインストールディレクトリのwebapp以下のディレクトリである。テスト用にresultという名前ののディレクトリを作成して、その中にresult.jspを作成して、以下のコードを書いた。
私の環境の場合フルパスは/usr/share/tomcat5/webapp/result/result.jspとなる。

<%@ page contentType="text/html; charset=utf-8" import="java.sql.*" %>

<html>
<head>
<title>2011 F1日本グランプリ 決勝結果表</title>
</head>

<body>
<h1>2011 F1日本グランプリ 決勝結果表</h1>

<tr>
<td>Pos.</td><td>No.</td><td>Driver</td><td>Total Time</td>
</tr>

<%
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/hogedata?" +
        "user=hoge&password=hogehoge&useUnicode=true&characterEncoding=utf-8");
    Statement st=conn.createStatement();
    ResultSet res = st.executeQuery("select * from result");

    while(res.next()){
        out.println("<tr>");
        out.println("<td>" + res.getString("Pos.") + "</td>");
        out.println("<td>" + res.getString("No.") + "</td>");
        out.println("<td>" + res.getString("Driver") + "</td>");
        out.println("<td>" + res.getString("Total Time") + "</td>");
        out.println("</tr>");
    }
    st.close();
    conn.close();

%>
</table>
</body>
</html>

conn=DriverManager.getConnection(....)でMySQLへ接続をしている。jdbc:mysql:以下には接続するデータベース名。user= &password=以下には、先程MySQLに設定したユーザとパスワードをそれぞれ入力する。st.executeQuery以下はSQL文である。ここではresultというテーブルを使うので、その名前を入力する。


ファイルを保存したら、TomcatサーバとMySQLサーバを起動する。すでに起動している場合は再起動する。



再起動したら、Webブラウザから以下のアドレスへアクセスるする。

http://localhost:8080/mypages/result/result.jsp

すると以下のようなページが表示されるはずだ。


参考URL: http://mail2.nara-edu.ac.jp/~asait/java/tomcat/tomcat.htm