Interstage Studio プログラマーズガイド
目次 索引 前ページ次ページ

第2部 Java編> 第3章 Webアプリケーションを開発する> 3.1 概要

3.1.2 Webアプリケーションを実現する技術

Webアプリケーションを作成するうえで必要な技術について簡単に説明します。

+HTML

文書の論理構造を記述するために考案された、タグ付けによる文書記述の規約です。インターネットによる情報公開で用いられ、事実上、Webブラウザのための記述言語となり、Webブラウザの進歩とともに規約が拡張されています。

+カスケーディングスタイルシート(CSS)

HTMLのスタイル情報を持つファイルです。このファイルによって、ページのブラウザ上でのレイアウト、デザインを細かく指定することができます。HTMLに見た目の情報が規約として拡張されましたが、本来は論理構造を記述することが目的であったことや、サイト内の見た目を統一するのに複数のHTMLへの修正が必要という問題があり、それを改善するため、見た目の情報をスタイルシートとして分離するCSSが考案されました。

+JavaScript

HTML文書に、計算した結果を表示させるなどの動作をつけるために作成されたスクリプト言語です。現在ではほとんどすべてのブラウザで動作するようになりました。APIの実装などがブラウザによって異なるため、実装の際には注意が必要です。

+HTTP

クライアントからサーバへの要求とサーバからクライアントへの応答で完結するプロトコルです。
要求と応答はそれぞれ以下で構成されています。

要求

メソッド

主な要求メソッドは以下になります。

  • GET
    サーバにURLで指定したリソースを要求します。
    HTMLの<a href="xxxxx">XXXXXX</a>や、入力フォームのmethod属性にGETを指定した場合のメソッドです。
  • POST
    サーバにデータを送信します。
    入力フォームのmethod属性にPOSTを指定した場合のメソッドです。

URL

URLをブラウザでの形式で説明します。

  • http://ホスト[:ポート]/要求パス[?クエリ文字列]

ホスト: 要求を送信するサーバ
ポート: 要求を送信するポート番号(省略可能)
要求パス: href属性や入力フォームのaction属性で指定するリソースです。
クエリ文字列: ?の後に、「パラメタ名1=値1&パラメタ名2=値2&・・・」の形式で指定します。GETメソッドの場合には、入力フォームで指定した値がこの形式で送信されます。

URLの長さには制限があり、GETメソッドではデータ量が多いパラメタを送信できません。データ量が多いパラメタはPOSTで送信します。

ヘッダ

要求に関する情報です。Webページの情報などからブラウザによって組み立てられます。

ボディ

POSTメソッドの場合、入力フォームで指定した値が、「パラメタ名1=値1&パラメタ名2=値2&・・・」で送信されます。

応答

ステータスコード

Webサーバやサーブレットコンテナによって返却されるコードです。

ヘッダ

HTMLやJSPに記述されている内容などによって、サーバで組み立てられます。

ボディ

要求されたページの内容などが返却されます。

+サーブレット

Webサーバ上で動的にHTMLドキュメントを生成する技術であり、Webブラウザから入力したデータをサーバ上で処理を行うことができます。また、それまでのWebサーバ上の技術として主流であったCGI(Common Gateway Interface)の問題点である、多重度、セション管理などの問題を解決する技術を提供しています。
サーブレットクラスを作成するには、Servletインタフェースを実装する必要があり、要求オブジェクトからのパラメタの取り出しや応答オブジェクトの作成をメソッドとして実装します。応答オブジェクトの作成では、通常はHTMLドキュメントの出力を行います。しかし、JSPが考案された現在では、動的HTMLドキュメントの作成はJSPで行うのが一般的であり、サーブレットでは、EJBサービスやJSPへの処理の振り分けなどを行います。
また、サーブレットは初めての要求時に初期化され、インスタンスはそれ以降の要求で共有されます。そのため、サーブレットはスレッドセーフとして作成する必要があります。

+JSP(JavaServer Pages)

動的なHTMLコンテンツを作る場合には、サーブレット技術を利用しますが、サーブレットのプログラム内に、サーバで処理するロジックとHTMLコンテンツが混在し、記述性が良くないという問題がありました。
そこで、動的コンテンツ(データの埋め込みなど)を出力するために、HTMLファイルにJava記述を可能にしたものがJSPです。

JSPは、運用時にサーバ上でサーブレットクラスに変換されてから実行されます。そのため、実行の基本的な技術はサーブレットと同じになります。

+カスタムタグ(JSP拡張タグ)

JSPによって、動的なコンテンツをHTMLのように開発することが可能になりましたが、より動的コンテンツ部分の開発を容易にし、部品化を含めた開発生産性の向上のために考えられたのがカスタムタグです。カスタムタグは、一連の関連ある機能を部品化するために開発され、タグライブラリとして配布されます。
カスタムタグは、JSPがサーブレットに変換されるタイミングでタグハンドラと呼ばれるJavaの処理に変換され、実行時にタグハンドラは動的にコンテンツを組み立てて、その結果を応答オブジェクトに出力します。


目次 索引 前ページ次ページ

Copyright 2007-2008 FUJITSU LIMITED