Java入門ガイド

09.サーバサイドJava入門(サーブレット編)

当コーナーはJavaの基本的な事項を紹介していくものです。

サーブレットを使う

今回はサーブレットを利用したwebアプリケーションを作成します。

掛け算webアプリケーションを作る。

今日のWebアプリケーションではJSPのみでシステムを実現することはまずありません。
通常は

  • 処理の流れを制御するサーブレット(コントローラー)
  • 業務処理(実際のロジック)をおこなうモデル
  • 結果を表示するためのJSP(ビュー)

に役割を分担させます。
これをMVC(モデル・ビュー・コントローラー)構成と呼びます。
この証ではMVC構成に沿った構成で掛け算アプリケーションを作成します。

まず、ビューとなるjspファイルを作ります。
aiosl-tec-JSPフォルダにビューの機能を持ったjspファイルを以下の内容で作成します。
各ビューの説明は以下のとおりです。

  1. sampleJsp04.jsp ・・・ 入力エリアに数字を二つ入力する画面。
  2. sampleJsp05.jsp ・・・ 計算結果を出力する画面。
  3. err.jsp        ・・・ 入力エラーがあった際に表示される画面。

obj_Javastart_Servlet001

sampleJsp04.jsp

sampleJsp05.jsp

err.jsp

次に実際に計算するJavaのクラスとコントローラーとなるサーブレットを作成します。

今回は便宜的にaiosl-tec-JSP\WEB-INFの直下にclassesフォルダを作成しここに
javaのクラスを配置します。

  1. AioslBizSample01.java ・・・ 掛け算を実行するメソッドを持つクラス
  2. SampleServlet01.java  ・・・ 掛け算アプリケーションのコントローラー

obj_Javastart_Servlet002

AioslBizSample01.java

SampleServlet01.java

サーブレットのコンパイルには環境変数のCLASSPATHにサーブレットのAPIを指定する必要があります。

以下の内容を、CLASSPATHの\;%JAVA_HOME%\lib\tools.jar;の後に記述して下さい。
「.;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar;」

obj_Javastart_Servlet003

コマンドプロンプトを起動し、コンパイルします。

obj_Javastart_Servlet004

先ほど、作成されたclassファイルが出来上がります。
Webアプリケーションでコンパイルされたclassは原則的にclassesフォルダに配置します。
Webアプリケーションではclassesを参照してクラスをjavaを動かします。
*サーブレットでもHTMLタグを利用しwebページを生成できますが可読性が落ちるので当コーナーでは触れません。

obj_Javastart_Servlet005

web.xmlを編集します。

掛け算アプリケーションを起動する。

以上で、準備が整いました。Tomcatを再起動して、http://localhost:8080/aiosl-tec-JSP/にアクセスして下さい。

obj_Javastart_Servlet006

sampleJsp04.jspをクリックすると以下のようなページが表示されます。

obj_Javastart_Servlet007

適当な数字を入れて、実行ボタンを押してください。

obj_Javastart_Servlet008

計算結果を表示するjspに移動しました!「戻るボタン」で元の画面に戻ります。

obj_Javastart_Servlet009

今度は数字以外の文字を入れてみます。

obj_Javastart_Servlet010

実は整数以外を入力すると例外を発生させる仕様になっていますので入力エラーを表すerr.jspに移動しました。

obj_Javastart_Servlet011

この掛け算アプリケーションでは
sampleJsp04.jspから入力された情報をSampleServlet01.javaが受け取り
受け取った二つの情報をAioslBizSample01.javaで掛け算をしてもらった後にsampleJsp05.jspに計算結果を渡しています。
もし、入力された情報が整数ではない場合は例外を発生させ、err.jspに移動する様に コントロールしています。
このように表示にかかわる仕組みはjspでおこない、複雑な処理仕組みはビジネスロジックでおこない、その橋渡しをサーブレットでコントロールすること、つまり MVC構成を利用する事によってスッキリとしたWebアプリケーションの実装が実現できます。