SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

GlassFishからアプローチするJava

GlassFishからアプローチするJava~入門編~
第2回「Webアプリケーションの作成 Servletの基礎を学ぶ」

Servletって何?


  • このエントリーをはてなブックマークに追加

 この連載では、「GlassFish」という製品を利用して、Java言語に親しんでもらうことを目的としています。第2回目の今回は、StrutsなどのWebフレームワークは使わず、簡単なWebアプリケーションを作成しながらServletについての理解を深めていきたいと思います。

  • このエントリーをはてなブックマークに追加

はじめに

 この連載では、「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の関係

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
クライアントとServletの関係

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
GlassFishからアプローチするJava連載記事一覧

もっと読む

この記事の著者

川久保 智晴(カワクボ トモハル)

haruプログラミング教室(https://haru-idea.jp/)主宰。COBOL、FORTRANで13年、Javaを中心としたWeb開発で11年。3つしか言語知らないのかというとそうでもなく、sed/awk、Perl、Python, PHP,  C#, JavaScriptなども一時期は業...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4748 2010/02/12 11:06

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング