検索
連載

Strutsの常識を知り、EclipseとTomcatの環境構築Webアプリの常識をJSPとStrutsで身につける(2)(4/4 ページ)

本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

Javaサーブレットの作成

 次に、JavaサーブレットのHelloFormクラスとHelloActionクラスを作成しますが、その前にソース・フォルダーとJavaパッケージを作成する必要があります。

 まず、「Hello」プロジェクトを右クリックして[新規のソース・フォルダー]を選択します。

図16 新規ソース・フォルダーの作成
図16 新規ソース・フォルダーの作成

 すると、[新規ソース・フォルダー]画面が表示されるので、[プロジェクト名]で「Hello」を参照し、[フォルダー名]で「WEB-INF/src」を参照して、[終了]ボタンを選択します。

 これで、「ソース・フォルダー」の作成は完了したので、次にJavaパッケージを作成します。先ほど作成した「ソース・フォルダー」(「WEB-INF/src」)で右クリックして、新規の[Java パッケージ]を選択します。

図17 Javaパッケージの作成
図17 Javaパッケージの作成

 [ソース・フォルダー]で「Hello/WEB-INF/src」を参照し、[名前]で「hello」と入力して[終了]ボタンを選択します。同様の操作で「hello.form」パッケージも作成します。これで、新規のJavaパッケージの作成は完了です。

 Javaパッケージを作成したら、「hello.form」パッケージ配下に以下の.javaファイル(HelloForm.java)を作成します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 「hello」パッケージ配下に、以下の.javaファイル(HelloAction.java)を作成します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 これで、Eclipse上での作業は完了です。サーブレットの中で行われるサーバ側の処理についても、今後の連載で随時紹介していきます。

Struts設定ファイルの編集

 今度はWEB-INFフォルダのstruts-config.xmlを以下の内容に編集します。内容については次回説明します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

おわびと訂正のお知らせ

上記struts-config.xmlについて、「<form-bean name="HelloForm" 」を「<form-bean name="helloForm" 」と表記したり、「attribute="HelloForm"」を「attribute=" HelloForm "」と表記したり、「name="HelloForm"」を「name=" HelloForm "」と表記するなど、間違いが多数あり、修正させていただきました。

内容について正確を期せずに混乱を招いた点、読者の皆様におわび申し上げます(2008年8月29日)。


注意! 「Strutsの日本語文字化け対応」(2008年9月8日追記)

アクション・フォームBeansでは、Webブラウザからのリクエストデータを取得する時に、どの文字エンコード(文字エンコーディング)方式を使用しているかの情報を得る(setCharacterEncodingメソッドなど)まえにリクエストデータを取得します。そのため、日本語の文字化けが発生します。

日本語の文字化け対応を防ぐには、Tomcatのサンプルプログラムとして提供されているSetCharacterEncodingFilter.javaを利用します。

  1. PKG\Hello\WEB-INF\src配下にフォルダ「filters」を作成
  2. 作成したfiltersに「%TOMCAT_HOME%\webapps\examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.java」をコピー
  3. Eclipseで[プロジェクト・エクスプローラー]の「Hello」を選択して右クリックをし、[リフレッシュ]を選択
  4. Eclipseで[プロジェクト]の[クリーン]を選択して、Helloプロジェクトをコンパイル
  5. PKG\Hello\WEB-INF\web.xmlに以下の部分を追加(「add start」から「add end」まで)

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 6.完了したら、Eclipse上から「Tomcat起動」アイコン(猫マーク)を押して、再起動

これで、文字化けの対応は完了です。 Javaの文字エンコーディングについて詳しく知りたい読者は、以下の記事を参考にしてください。


初めてのWebアプリケーションを動かすには?

 では、いよいよ動かしてみることにしましょう。Eclipseで[プロジェクト]の[クリーン]を選択してHelloプロジェクトをコンパイルします。

コンテキストパスを設定

 エラーが発生しないことが確認できたら、コンテキストパスを設定します。コンテキスト(Context)とは、プログラムが処理を実行する際の判断材料となるものです。プロジェクトの配置状況や、条件などを設定できます。こちらも、詳細は次回説明します。

 Tomcatへ「Hello」プロジェクトの配置状況を伝えるため、「/TOMCAT_HOME/conf/server.xml」に以下のコンテキストパスを設定(追記)します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

注意!

Apacheのサイトによると、「Tomcat 6 では,Tomcat 4.x と異なり, <Context> 要素を直接 server.xml ファイルに置くことは推奨されない。」とありますが、Tomcatを再起動しないとコンテキストパスを再ロードしてくれないということなので、コンテキストを変更した際はTomcatを再起動すれば問題ありません(2008年8月29日追記)。


 コンテキストパスの設定場所は、<Host>タグの中に設定します。例としては、以下のようになります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 完了したら、Eclipse上から「Tomcat起動」アイコン(猫マーク)を押して、起動してみてください。コンソールが何やら動きだしましたね。早速確認してみましょう。Webブラウザから以下のURLを参照してみてください。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 すると、どうでしょうか。あなたが作成した画面がWebアプリケーションとして動作しました。

図18 質問画面
図18 質問画面

 ここで終わりではありません。「あなたの名前は?」と聞かれている横のテキストボックスにあなたの名前を入力して「OK」ボタンを押してみてください。

図19 回答画面
図19 回答画面

 画面で「ようこそ、XXXさん!」(XXXは前の画面のテキストボックス内に入力した文字)と表示されましたね! おめでとうございます。Webアプリケーションが見事に動きました!

Webアプリの“常識”を学んでいこう

 このように、Strutsを使ったWebアプリケーション開発はそれほど難しいものではないということが分かっていただけたでしょうか?

 次回第3回からは、今回のサンプルアプリケーションを基に、今回説明できなかったTomcat・Strutsの設定ファイルやソースコードを見ながら、サーバとクライアントの関係などのWebアプリケーションの常識について詳しく説明していく予定です。

プロフィール

眞野 寿彦(まの としひこ)
株式会社メセナ・ネットコム所属

SEとして充実した日々を送っている。現在はStrutsを使ったWebアプリケーション開発を担当中。「信頼されるプロジェクトマネジャー」を目指し、自分に必要なことを常に考え、行動し、「真の技術者」として日々成長している。

趣味はボウリング、ビリヤード、ダーツ
尊敬する人はティム・バーナーズ=リー



前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る