1 2 3 4 5 6 7 8 →

はじめに

 この連載では、「GlassFish」という製品を利用して、Java言語に親しんでもらうことを目的としています。第2回目の今回は、簡単なWebアプリケーションを作成しながら、ServletやJSP(JavaServer Pages)についての理解を深めていきたいと思います。

対象読者

  • Javaでなにかしらのアプリケーションを作成したことのある方
  • Javaの変数の宣言や、if文・for文・while文の制御文など簡単な文法を知っており、アプリケーションを作成したことのある方

 オブジェクト指向プログラミングができなくとも構いません。徐々に学んでいければと考えています。また、学びやすいWebアプリケーションをサンプルとするので、Webアプリケーションとは違った分野を勉強したい方には当連載は向いていません。

仕様書バージョン

 Java EE 5を使用するため、主な技術要素のバージョンは以下の通りです。EJBに関しては応用編で扱う予定です。

  • Servlet:2.5
  • JSP:2.1
  • JSTL:1.2
  • JTA:1.1
  • EJB:3.0(応用編)

Webフレームワークがなかった頃

 ちょうど2000年に筆者はJava EE(当時はJ2EEと呼んでいましたが、現在の言い方に合わせJava EEで統一します)を使ったプロジェクトに初めて参画しました。Strutsなどがない時代であったため、プロジェクト独自のフレームワークを作成しました。データベースはオブジェクトデータベースやリレーショナルデータベース(以降RDB)も使っており、RDBのアクセスはCの部品があったことと、当時はJavaでは性能が出ないと言われていたため、JavaからCを呼び出すためにCORBAを使用していました。

 フレームワークを使わないプロジェクトは今では考えられません。煩雑さを隠してくれ、繰り返し現れるような処理を行ってくれたり、定型的なコーディングを行うことにより誰が見ても分かりやすいプログラムを作成することを可能にしてくれました。ただし、フレームワークを使うとJavaの基礎的な部分が隠ぺいされてしまい、本来の機能や責務が見えづらくなっていることも確かです。

 当連載はフレームワークを使うなと主張するつもりはまったくなく、フレームワークを熟知し、さらにその奥にあるものが理解できると、より品質が高いものが作成でき、違ったフレームワークを使うことになった場合でも、基礎の理解があるため柔軟に対応できるようになります。

Servletとは何か

 今回は非常に簡単なWebアプリケーションを作ることで、ServletやJSP(JavaServer Pages)を深く理解していきたいと考えています。Javaを使用したWebアプリケーションではServlet、JSP(JavaServer Pages)、JSP STL(JavaServer Pages Standard Tag Library)は欠かせない存在です。しかし、これら3つは相互に関連・依存しているわけではなく、図1のようにServletの上にJSPが存在し、JSPの上にJSP STLが乗っかっているという関係です。JSP STLはJSPの存在を前提とし、JSPはServletの存在を前提としていると言えば少しは分かりやすいでしょうか。つまり、JSPやJSP STLを理解するにはServletの理解が不可欠ということを表しています。

 ちなみにServletやJSPのことをWeb Componetと呼びますが、これらはWeb Container上で動作します。後ほど説明するServletのライフサイクルの管理もこのContainerが行います。

図1.Servlet、JSP、JSP STLの関係
図1.Servlet、JSP、JSP STLの関係

1 2 3 4 5 6 7 8
→
INDEX
GlassFishからアプローチするJava~入門編~ 第2回「Webアプリケーションの作成 Servletの基礎を学ぶ」
Page1
はじめに
Webフレームワークがなかった頃
Servletとは何か
Servletのライフサイクルについて
おさらい
参考資料
プロフィール
川久保 智晴 カワクボ トモハル

COBOLで13年、Javaを中心としたWeb開発で10年。2つしか言語知らないのかというとそうでもなく、sed/awk、Perl、Pythonなども一時期は業務で使えるレベルまで達したと思っています(自己申告)。

最近はプロジェクトマネージャやソフトウェアアーキテクトという一見相容れない仕事を繰り返してきましたが、実は両者の技術は密接に絡んでいるというのが最近考えていることです。プロジェクトマネージャがあまりにも技術に疎かったり、ソフトウェアアーキテクトがあまりにもコストに鈍感であったりするのを見るにつけ思いが深まっています。

以前はお酒が大好きでいろんなところに出没していましたが、今はおとなしく家飲みに徹しています。土日は20キロ近くジョギングしたりして爽やかなIT技術者を目指しています。2度と徹夜の日々がなくなることを祈りつつ生活しています。


注目の求人情報
コンサルタント/ウルシステムズ株式会社
・システムの要件定義と業務モデルをもとに個々のシステムのアーキテクチャを設計し、基幹業務システム...
ビジネス戦略・事業運営/日系ITコンサルティングファーム
クライアントの課題解決の為の各種ソリューション提供
システムエンジニア/ITソリューション
下記システム開発案件に関わるプロジェクトマネジメントあるいはプロジェクトマネジメント補佐業務 <...

(最新日付順)
名前(ゲストの方もコメントをどうぞ):*
アイコン:
なし

内容(テキストのみ1200文字まで):*

投稿規定に同意して

スポンサーサイト

この記事のトラックバックURL: