第8回 Servlet/JSP+MySQLでアプリケーションサーバ その1
いよいよWebアプリケーションサーバの大本命Java Servlet/JSPの登場だ。Javaを使えばさまざまな方法でMySQLを操作できるようになる。今回はServlet/JSPの基本となるJavaアプリケーションを作成してみよう。
鶴長 鎮一
MySQLユーザ会
2001/6/12
Webアプリの大本命、Java
皆さんも一度は「アプリケーションサーバ」という言葉を耳にされていると思います。アプリケーションサーバという言葉を広義で使うなら、本連載で紹介してきたPerlやPHP、Rubyで作成したWebアプリもアプリケーションサーバの1つと説明できるでしょう。すなわち、データベース接続など、サーバ側で何らかの作業を行い、結果を動的にHTML化してWebサーバに渡すという一連の作業を処理するという意味で。
しかしながら、いままでのWebアプリケーションの手法では、提供するサービスが煩雑になった場合やアクセス数が増加した場合などに対応するのが簡単ではありません。また、ちまたにあふれるオークションサイトや会員制のホームページなどを見ても、Webを使ったサービスに求められる品質はますます高度化しています。そんな要求にこたえられる本命として登場したのが、今回紹介するJavaを使ったWebアプリケーションです。「えっ? Java」と思われた方は、Java Solutionフォーラムの記事に目を通し認識を改めましょう。Javaアプリケーションやアプレットの一番のネックは、インタプリタ(厳密には違うものなのですが)であるJava Runtimeの起動待ちですが、サーバ側で使う分には最初に一度だけ起動しておけばそれでおしまいです。
一概にJavaといっても、各クライアント側で動作するアプリケーションやアプレット、サーバ側で動作するServlet/JSPなど形態はさまざまですが、その本質は変わりません。今回は最終的にServlet/JSPからMySQLサーバへの接続を目標にしていますが、まずはインストールの手間がほとんどかからないJavaアプリケーションでMySQLサーバを操作する方法から見ていきましょう。
それからもう1つ、Javaプログラムでデータベースに接続するための布石として必ず説明しておかなければいけないものにJDBCがあります。Javaの優位性の1つに、一度プログラムを作ってしまえば、LinuxはもちろんWindowsでもMacOS Xでも動作する「Write once, Run anywhere」というのがあります。もし、そのプラットフォーム非依存性がデータベースにも拡張できたらどうでしょう。今回はMySQLが主題ですが、PostgreSQLやOracleへの接続にも同じプログラムがコードを変更することなく使えれば移植性が上がります。データベースの種類によっては独特のカラムやデータタイプを持っているため完全に非依存というわけにはいきませんが、移植を最少の手間で実現できるようにしたものがJDBCです。データベースに合わせたJDBCドライバに変更するだけで、ほかの作業の多くを共通化することができます。
Javaアプリケーション開発の準備
■JSDK 1.3.1のインストール
LinuxでJavaを利用するには、まず下記のURLからJavaの開発環境であるJ2SDKをダウンロードします。
http://java.sun.com/j2se/1.3/ja/download-linux.html
このページにはRPM版とshスクリプトで展開されるものの2つが用意されているので、環境に合わせた方を選びます。多くのLinuxディストリビューションはすでにJavaの開発環境がインストールされている場合がありますが、最新版を使うことをお勧めします。
ここでは例としてshスクリプト版を使用します。
まず展開するディレクトリ(例では/usr/local)に移動し、ダウンロードしたファイルを下記の要領で展開します。
# cd /usr/local |
以降、J2SDKをインストールしたディレクトリ(/usr/local/jdk1.3.1となっているはず)を$JAVA_HOME/と表記します。
■JDBCドライバのインストール
次に、JDBCドライバをインストールしましょう。ここではMM.MySQL JDBCドライバを使用します。
現時点での最新版は2.04になります。http://mmmysql.sourceforge.net/からダウンロードします。上記サイトにはバイナリのみのものと、ソースとドキュメントを含めたものの2種類が用意されています。詳しいドキュメントが欲しい場合、または自分が作成するアプリケーションに含めて配布したい場合は、ソースとドキュメントを含むものを使います。取りあえず使ってみたいという方は、バイナリのみでよいでしょう。ファイルはjarで圧縮されているので、J2SDKに含まれるjarコマンドを使って展開する必要があります。mm.mysql-2.0.4-src.jarは、適当なディレクトリで以下のようにして展開します。
$ $JAVA_HOME/bin/jar -xf mm.mysql-2.0.4-src.jar |
展開したディレクトリの中にmysql.jarができているので、classpathが通っている適当なところにコピーするか、mysql.jarをclasspathに加える必要があります。ここでは毎回-classpathオプションで指定する方法を使うので特に何もする必要はありません。
■データベースとテーブルの準備
今回も、第4回 「PerlでMySQL操作CGIを作ろう」で作成したATMARKITデータベースとlistテーブルを使用します。データベースとテーブルを用意していない方は、上記のページを参考にMySQLサーバ側の準備をしてください。またその際、参照権の設定をお忘れなく。
先日、私も執筆に参加した『MySQL徹底入門』(翔泳社)に携わったメンバーで食事をともにする機会がありました。MySQL界の大御所といわれるとみたさんやソフトエージェンシーの村上さんも参加されており、筆者にとっては大変有益な時間を過ごすことができました。 その際、最近のさまざまなコミュニティ、とりわけオープンソースに絡んだユーザー会で新参者に対する態度が冷たいと感じるときがあるという意見がメンバーの口々から出てきました。インターネット同様、多くのオープンソースも熟成期に入り、それぞれのコミュニティもルールといわれるものが暗黙のうちにできあがっているようです。そうしたルールが新参者に対するハードルになるのか、逆に若手を育てる糧になるのか、結果はさまざまですが、幸いMySQLユーザ会はまだまだ創生期です。これからデータベースを勉強したいという方は、ぜひMySQLユーザ会(http://www.mysql.gr.jp)に入会してともに成長していきましょう。……と、今回はMySQLユーザ会のアピールでした。 |
|
1/3
|
| Index | |
| 快速MySQLでデータベースアプリ! | |
| Webアプリの大本命、Java | |
| Javaアプリケーション開発の準備 JSDK 1.3.1のインストール JDBCドライバのインストール データベースとテーブルの準備 |
|
| Javaアプリケーションのコーディング JDBCドライバのロードとMySQLサーバへの接続 レコードの挿入 漢字の対応 レコードの抽出 |
|
| Appendix | |
| 連載 快速MySQLでデータベースアプリ! |
| Linux Squareフォーラム データベース関連記事 |
| 連載:快速MySQLでデータベースアプリ!(全11回) 軽快な動作で知られるRDBMS、MySQLでDBアプリの構築を行う。MySQLのインストールに始まり、PerlやRubyなどのスクリプトでデータベースを操作する方法までを完全解説 |
|
| 連載:今から始める MySQL入門(連載中) 定番のLAMP(Linux+Apache+MySQL+PHP)構成でWebアプリケーション開発に挑戦! サンプルアプリの構築を進めながら、基礎知識や操作方法について詳しく解説する |
|
| 連載:Oracleマイスター養成講座(全6回) 本連載では、Oracleの管理・チューニング方法を紹介していく。これからOracleを始める人、そしてOracleをより深く理解したい人のための、一歩踏み込んだ実用講座 |
|
| 連載:DB2マイスター養成講座(全7回) 本連載では、DB2 UDBの実践的な運用・管理方法を紹介していく。DB2を利用するうえで必要な知識を、実運用を前提にDB2のプロが解説 |
|
| 特集:エンタープライズ市場に向かうMySQL
5.0[前編] MySQL 5.0の新機能をアルファ版でチェック 1月に公開された5.0アルファ版は大幅に拡張されており、エンタープライズ市場への進出を予感させる |
|
| 特集:Linuxで動くリレーショナルデータベース・カタログ データベースサーバのOSとしてLinuxを採用するケースが増えている。Linuxで動作する7つの主なリレーショナルデータベースを紹介する。製品導入の際の参考にしてほしい |
|
|
TechTargetジャパン
- OSSライセンスの採用傾向に「変化」あり (2012/5/21)
OSS普及の一翼を担ってきたライセンス、GPLファミリー採用の割合が減少傾向にあるそうです。いったいどうして? - ここからFirefoxの反撃が始まる (2012/3/12)
2月のLinux SquareのランキングではFirefoxの記事がダントツのページビューを集め、トップに立ちました - CMakeでMySQLをビルドしてみる (2012/3/8)
ここまでの作業でCMakeを使う準備が整いました。今回はひとまずMySQLをビルドしてみます - MySQLのビルドに欠かせないCMakeを準備する (2012/3/2)
今回は、MySQLをビルドするために欠かせないツール「CMake」をインストールし、使う準備をします
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
