■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 2009年11月08日 Java総合講座 - 初心者から達人へのパスポート vol.178 セルゲイ・ランダウ バックナンバー: http://www.flsi.co.jp/Java_text/ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ------------------------------------------------------- ・このメールマガジンは、画面を最大化して見てください。 小さな画面で見ていると、不適切な位置で行が切れてしまう など、問題を起すことがあります。 ・このメールマガジンに掲載されているソース・コード及び 文章は特に断らない限り、すべて筆者が著作権を所有してい ます。また、これらのソース・コードは学習用のためだけに 提供しているものです。 ------------------------------------------------------- ======================================================== ◆ 01.Eclipse 3.5のインストール ======================================================== では、今回はEclipseの最新版をインストールして、簡単なWebアプリケーション を作成してみることにしましょう。 現在のEclipseの最新バージョンは3.5(Galileo)です。 ところで、Eclipseのバージョン3.2までは、世界各国の言語パックをIBMが作成 してきましたが、コストが増大し、IBMだけでコストを負担することには限界が 来たために、現在は、Eclipseコミュニティーの有志によって各国語への翻訳作業 が行われるように変わっています。 ┌補足─────────────────────────┐ ちなみに、言語パックを使用せずに英語版のEclipseを使った 場合でも、日本語のアプリケーション開発はできます。 └───────────────────────────┘ 特に、日本では、(株)うぃるが開発した日本語化のためのプラグイン「Pleiades」 (プレアデス)等を使って翻訳作業が行われています。 現在、日本語の言語パックを一番楽に取得する方法は、このPleiadesによって提供 されている「Pleiades All in One 日本語ディストリビューション」というパッ ケージをダウンロードする方法です。 このディストリビューションはAll in Oneという名前の通り、様々なプラグインや その他の関連ソフトが予めインストール済みのため、インストール作業が大幅に 軽減されます。しかも日本語化済みです。 という訳で、さっそく、以下の手順でダウンロードしましょう。 (1) Webブラウザーを起動して下記のWebページ http://mergedoc.sourceforge.jp/ を開き、下のほうにスクロールすると「ダウンロード」の項目がありますので、 そこにある ------------------- Eclipse 3.5 Galileo Pleiades All in One ------------------- というボタンをクリックします。 (2) すると、パッケージのリストが表示されますが、このうち Full All in One (JREあり) でかつ、 Java のパッケージの「Download」ボタンをクリックしてダウンロードしましょう。 ┌補足─────────────────────────┐ Internet Explorerのバージョンによっても異なりますが、 (バージョン8の場合) 「セキュリティ保護のため、このサイトによる、このコンピュー ターへのファイルのダウンロードがInternet Explorerにより ブロックされました。オプションを表示するには、ここを クリックしてください。」 のような行がWebブラウザーの上のほう(ツール・バーの直ぐ下) に表示されたら、それをクリックし、「ファイルのダウンロード」 を選択します。 あとはいつものように操作してダウンロードします。 └───────────────────────────┘ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ 続いて、ダウンロードしたファイルを解凍するのですが、次の手順で解凍すれば、 Lhacaで解凍できます。 (1) まず、ダウンロードしたファイルは現在pleiades-e3.5-java-jre_20090930.zip というファイル名になっているはず(時が経てばファイル名も変わる可能性があり ますがその時は正しい名前に読み替えて下さい)ですが、長くて不都合なので、 ファイル名を pleiades.zip というように短く改名しておいて下さい。 (2) デスクトップにあるLhacaのアイコンをダブル・クリックします。 (3) Lhacaの設定画面が表示されたら、「解凍先」の欄で「その他」を選択し、 解凍先としては C:\ を選択します。 (4) 「OK」ボタンをクリックしてLhacaの設定画面を閉じます。 (5) 先ほどのpleiades.zipファイルをLhacaのアイコンにドラッグ&ドロップ します。 (6) しばらく待てば解凍が終了しますので、C:ドライブの中に pleiades というフォルダーができていることを確認して下さい。 (7) これで解凍作業は終わりましたので、再度デスクトップにあるLhacaのアイコン をダブル・クリックし、Lhacaの設定画面の「解凍先」の選択を「デスクトップ」に 戻して「OK」ボタンをクリックしておきましょう。 この解凍作業をもって、Eclipseのインストールは完了しています。 ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ では、このEclipse 3.5を起動する前に、ワークスペースを用意しておきましょう。 vol.002と同様にしてフォルダーを作成しますが、今回はJavaWorksではなく、 JavaWorkSpaceという名前で新たに作成することにしましょう。 「スタート」ボタン→「プログラム」(または「すべてのプログラム」)→ 「アクセサリ」→「コマンドプロンプト」を選択してコマンドプロンプトを開き、 cd \ と入力します。 次に、 mkdir JavaWorkSpace と入力すると(C:ドライブの直下に)JavaWorkSpaceという名前のフォルダ が作られます。 あとは、 exit と入力してコマンドプロンプトを閉じておきましょう。 ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ 解凍してできたフォルダーの中で、C:\pleiades\eclipseフォルダーの中に eclipse.exeがはいっていますので、スタート・メニューにこのeclipse.exeの ショートカットを登録しておいて下さい(やり方はvol.004を参考にして下さい)。 これでEclipseの起動が簡単になりますね。 (スタート・メニューに登録しない人は、C:\pleiades\eclipseフォルダーの中の eclipse.exeをダブル・クリックするなどの方法で起動して下さい。) では、このEclipse 3.5を起動してみて下さい。 「ワークスペース・ランチャー」ウインドウ(「ワークスペースの選択」のウインドウ) が現れたら、 C:\JavaWorkSpace と入力するか、あるいは「参照」ボタンをクリックし、先ほど作成したJavaWorkSpace フォルダーを指定します。 そして、「ワークスペース・ランチャー」ウインドウの「OK」ボタンをクリックします。 このPleiadesのパッケージにはJavaの実行環境(JRE = Java Runtime Environment)や Tomcatもいっしょに入っていますが、Javaの実行環境が1.4、1.5、1.6と3種類入って いるので、使用するJVMのバージョンをすべて1.5に揃えることにしましょう。 という訳で、Eclipseのメニュー・バーから「ウインドウ」→「設定」を選択し、 左側の「Java」配下の「インストール済みのJRE」を選択して下さい。 右側の「インストール済みのJRE」欄のリストの中でjre1.5にチェックマークが 入っていることを確認しておきましょう。 続いて、左側の「Java」配下の「コンパイラー」を選択して下さい。 右側の「JDK準拠」の「コンパイラー準拠レベル」が1.5になっていることを確認 して下さい。 ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ では、Eclipseのテストも兼ねて、ここで簡単なWebアプリケーションを作成する ことにしますが、これからは、TomcatPluginの代わりにWTP(Web Tools Platform) のプラグインを使用していきます。今後はこのWTPが主流になってきますので、 早めにWTPの使い方に慣れておきましょう。 なお、WTPのプラグインはこのEclipseのパッケージに予めインストール済みに なっています。 WTPはWeb Tools Platformの略であることから分かるように、Webアプリケーションの 開発を支援するためのツールを提供するプロジェクトであり、WTPが提供するプラグイン を使えばWebアプリケーションの開発が楽になります。 例えば、HTMLやJSPを編集するための専用のエディターも提供されているし、web.xml ファイルを自動的に作成したり、Eclipse上で(Tomcatを起動して)Webアプリケー ションを実行する機能なども提供されています。 ではまず、WTPを使って、Eclipseと一緒に含まれているTomcatのうち、Tomcat 5.5を Eclipse上でWebサーバーとして起動できるように登録作業を行いましょう。 まずEclipseでJ2EEパースペクティブを開いておいて下さい。 (1) メニュー・バーから「ファイル」→「新規」→「その他」を選択し、 「新規」ウインドウの中で「サーバー」配下の「サーバー」を選択し、 「次へ」ボタンをクリックします。 (2) 「新規サーバー」ウインドウの中で「Apache」配下の「Tomcat v5.5サーバー」 を選択し、「次へ」ボタンをクリックします。 (3) 「Tomcatインストール・ディレクトリー」欄にEclipseのインストールで一緒に 入ってきたTomcat5.5のディレクトリー C:\pleiades\tomcat5.5 を入力(または「参照」ボタンをクリックして画面から指定してもよい)し、 「完了」ボタンをクリックします。 これで、プロジェクト・エクスプローラー(Javaパースペクティブではパッケージ・ エクスプローラーがあったのと同じ位置に、Java EEパースペクティブではプロジェ クト・エクスプローラーがある)の中にServersというのができ、また、 「サーバー」ビュー(Eclipseの画面の右下のほうのタブが並んでいる所 (「マーカー」、「プロパティー」、「サーバー」といったタブが並んでいる) から「サーバー」タブをクリックすることによって、「サーバー」ビューが開きます) の中に「ローカル・ホストのTomcat v5.5サーバー」というのができているはずです。 これで、TomcatをEclipse上で実行できる環境が用意されましたので、 続いて簡単なWebアプリケーションを作って実行してみましょう。 ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ そろそろ年賀状を書き始める季節になりましたので、ふと来年の干支(十二支)は 何だったかな、と気になりました。 そこで、年を入力したらその干支を返すようなWebアプリケーションを作ってみる ことにします。 (1) まず、プロジェクト・エクスプローラーの中で右クリックし、「新規」→「プロジェクト」 を選択します。 (2) 「新規プロジェクト」ウインドウで「Web」配下の「動的Webプロジェクト」を選択し、 「次へ」ボタンをクリックします。 (3) 「プロジェクト名」欄に WtpTest と入力し、「Target runtime」は Apache tomcat v5.5 に、「構成」は Apache tomcat v5.5デフォルト構成 になっていることを確認し、「完了」ボタンをクリックします。 これで、プロジェクト・エクスプローラー内にWtpTestプロジェクトが生成された はずです。 (4) 「サーバー」ビューの中にある「ローカル・ホストのTomcat v5.5サーバー」を 右クリックし、「Add and Remove」を選択します。 (5) 「Add and Remove」ウインドウにおいて、WtpTest(これは先ほど作成した プロジェクト名)を選択し、「追加」ボタンをクリックします。 続いて「完了」ボタンをクリックします。 これで、「ローカル・ホストのTomcat v5.5サーバー」の配下にWtpTestが 入りました。(「ローカル・ホストのTomcat v5.5サーバー」の左側の+マークを クリックすればその下にWtpTestが表示されます。) これで、このTomcatサーバーでWtpTestのWebアプリケーションを実行できる ようになります。 (6) 次に、プロジェクト・エクスプローラー内のWtpTest(プロジェクト)配下の WebContentを右クリックし、「新規」→「HTMLページ」を選択します。 (WebContentはHTMLやJSPのファイルを入れる場所です。) (7) 「新規HTMLページ」ウインドウにおいて、「ファイル名」欄に index.html と入力し、「完了」ボタンをクリックします。(もし、ここで「次へ」ボタンを クリックすると、HTMLのテンプレートを選択することが可能です。) (8) index.htmlのエディターが開いたら、下記のような内容に編集しましょう。 -------------------------------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>干支(十二支)</title> </head> <body> <h1>干支(十二支)を調べる</h1> <form action="http://localhost:8080/WtpTest/etoservlet" method="post"><br> 干支を調べたい年: <br> <select name="year"> <option selected>2010</option> <option>2011</option> <option>2012</option> <option>2013</option> <option>2014</option> <option>2015</option> <option>2016</option> <option>2017</option> <option>2018</option> <option>2019</option> <option>2020</option> </select> <br> <br> <input type="submit" name="submit" value="送信"></form> </body> </html> -------------------------------------------------------- (以後いちいち書きませんが、ソース・コードはコピーするのではなく、自分で キーボードで入力するようにして下さい。そのほうが学習効果が大きいのです。) (9) 次に、プロジェクト・エクスプローラー内のWtpTest(プロジェクト)配下の 「Javaリソース: src」を右クリックし、「新規」→「サーブレット」を選択します。 (「Javaリソース: src」はサーブレットなどのJavaのソース・ファイルを入れる 場所です。) (10) 「サーブレット作成」ウインドウにおいて、「Javaパッケージ」欄には jp.co.flsi.lecture.test.servlet と入力し、「クラス名」欄には EtoServlet と入力し、「次へ」ボタンをクリックし、「URLマッピング」の欄にリストされている /EtoServlet を選択して「編集」ボタンをクリックし、 /etoservlet に書き換えて「OK」ボタンをクリックし、「完了」ボタンをクリックしましょう。 (URLマッピングはWebブラウザーに入力するURLの一部になるものですが、デフォルト ではサーブレットの名前と同じになっているためサーブレットの名前と勘違いする人 もいると思います。したがって、(学習のために)サーブレット名と区別できるように 全部小文字にしておきます。これは、先ほどのindex.htmlファイルの中のURLの末尾 と一致させておく必要があります。) (11) EtoServlet.javaのエディターが開いたら、下記のような内容に編集しましょう。 -------------------------------------------------------- package jp.co.flsi.lecture.test.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class EtoServlet */ public class EtoServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public EtoServlet() { super(); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String year = request.getParameter("year"); int diff = (Integer.parseInt(year) - 1995) % 12; String eto = "不明"; switch (diff) { case 0: eto = "亥"; break; case 1: eto = "子"; break; case 2: eto = "丑"; break; case 3: eto = "寅"; break; case 4: eto = "卯"; break; case 5: eto = "辰"; break; case 6: eto = "巳"; break; case 7: eto = "午"; break; case 8: eto = "未"; break; case 9: eto = "申"; break; case 10: eto = "酉"; break; case 11: eto = "戌"; break; default: break; } request.setAttribute("ETO",eto); getServletContext().getRequestDispatcher("/eto.jsp").forward(request,response); } } -------------------------------------------------------- (12) 次に、プロジェクト・エクスプローラー内のWtpTest(プロジェクト)配下の WebContentを右クリックし、「新規」→「JSP」を選択します。 (WebContentはHTMLやJSPのファイルを入れる場所です。) (13) 「新規JavaServer Page」ウインドウにおいて、「ファイル名」欄に eto.jsp と入力し、「完了」ボタンをクリックします。(もし、ここで「次へ」ボタンを クリックすると、JSPのテンプレートを選択することが可能です。) (14) eto.jspのエディターが開いたら、下記のような内容に編集しましょう。 -------------------------------------------------------- <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>干支(十二支)</title> </head> <body> <h1>干支(十二支)の結果</h1> <br> <jsp:useBean class="java.lang.String" id="ETO" scope="request" /> 干支は: <%= ETO %> </body> </html> -------------------------------------------------------- さて、WTPはweb.xmlも自動生成してくれるので、自分でweb.xmlを編集する必要は ありません。 念のために確認してみましょう。 プロジェクト・エクスプローラー内のWtpTest(プロジェクト)配下の WebContent配下のWEB-INF配下のweb.xmlをダブル・クリックして開いてみて 下さい。ちゃんと適切な内容になっていることが分かりますね。 ただし、このうち<welcome-file-list>は予め決めうちで用意されているものです。 先ほど作成したindex.htmlとは関係なく予めこのような内容になっています。 ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ では、このWebアプリケーションを実行してみましょう。 (1) 「サーバー」ビューの中の「ローカル・ホストのTomcat v5.5サーバー」を 右クリックし、「開始」を選択します。しばらくして、 ローカル・ホストのTomcat v5.5サーバー[始動済み,同期済み] というように、後ろに「始動済み」の表示が出たら、Tomcatの起動が完了しています。 (2) Webブラウザー(Internet Explorer)を起動してURL http://localhost:8080/WtpTest/ (先ほどのweb.xmlの<welcome-file-list>の所にindex.htmlが登録されているため、 上のURLではindex.htmlが省略できるのです。index.htmlを明示したい人は http://localhost:8080/WtpTest/index.html というように入力してもかまいません。) を入力しましょう。 (3) 適当に「干支を調べたい年」を選択して「送信」ボタンをクリックすると、正しい 干支が返ってきますね。めでたし、めでたし。 なお、もし、途中でサーブレットのソース・コードを修正して保管し直しても このEclipse上のサーバーが、自動的にサーブレットを再ロードしてくれるので、 自分でサーバーを再始動する必要はありません。 では、最後にTomcatのサーバーを停止しておきましょう。 「サーバー」ビューの中の「ローカル・ホストのTomcat v5.5サーバー」を右クリック し、「停止」を選択します。 ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ (次回に続く) では、今日はここまでにします。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ★ホームページ: http://www.flsi.co.jp/Java_text/ ★このメールマガジンは 「まぐまぐ(http://www.mag2.com)」 を利用して発行しています。 ★バックナンバーは http://www.flsi.co.jp/Java_text/ にあります。 ★このメールマガジンの登録/解除は下記Webページでできます。 http://www.mag2.com/m/0000193915.html ★このメールマガジンへの質問は下記Webページにて受け付けて います。わからない所がありましたら、どしどしと質問をお寄 せください。 http://www.flsi.co.jp/Java_text/ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ Copyright (C) 2009 Future Lifestyle Inc. 不許無断複製 |