Tomcatを使って、MySQLのデータベースにアクセスする簡単なJSPを書いてみる。
Tomcatを使って、MySQLのデータベースにアクセスする簡単なJSPを書いてみた。
このエントリーは、その備忘録。
TomcatとMySQLがインストールされている状態からスタートする。
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 以下に登録したいユーザ名を指定する。ここではlocalhostのhogeというユーザを指定している。
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