Interstage Studio プログラマーズガイド |
目次 索引 |
第2部 Java編 | > 第3章 Webアプリケーションを開発する | > 3.1 概要 |
Webアプリケーションを作成する上で必要な技術について簡単に説明します。
文書の論理構造を記述するために考案された、タグ付けによる文書記述の規約です。インターネットによる情報公開で用いられ、事実上、Webブラウザのための記述言語となり、Webブラウザの進歩とともにに規約が拡張されています。
HTMLのスタイル情報を持つファイルです。このファイルによって、ページのブラウザ上でのレイアウト、デザインを細かく指定することができます。HTMLに見た目の情報が規約として拡張されましたが、本来は論理構造を記述することが目的であったことや、サイト内の見た目を統一するのに複数のHTMLへの修正が必要という問題があり、それを改善するため、見た目の情報をスタイルシートとして分離するCSSが考案されました。
HTML文書に、計算した結果を表示させるなどの動作をつけるために作成されたスクリプト言語です。現在ではほとんどすべてのブラウザで動作するようになりました。APIの実装などがブラウザによって異なるため、実装の際には注意が必要です。
クライアントからサーバへの要求とサーバからクライアントへの応答で完結するプロトコルです。
要求と応答はそれぞれ以下で構成されています。
要求 |
メソッド |
主な要求メソッドは以下になります。
|
URL |
URLをブラウザでの形式で説明します。
ホスト: 要求を送信するサーバ 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への処理の振り分けなどを行います。
また、サーブレットは初めての要求時に初期化され、インスタンスはそれ以降の要求で共有されます。そのため、サーブレットはスレッドセーフとして作成する必要があります。
動的なHTMLコンテンツを作る場合には、サーブレット技術を利用しますが、サーブレットのプログラム内に、サーバで処理するロジックとHTMLコンテンツが混在し、記述性が良くないという問題がありました。
そこで、動的コンテンツ(データの埋め込みなど)を出力するために、HTMLファイルにJava記述を可能にしたものがJSPです。
JSPは、運用時にサーバ上でサーブレットクラスに変換されてから実行されます。そのため、実行の基本的な技術はサーブレットと同じになります。
JSPによって、動的なコンテンツをHTMLのように開発することが可能になりましたが、より動的コンテンツ部分の開発を容易にし、部品化を含めた開発生産性の向上のために考えられたのがカスタムタグです。カスタムタグは、一連の関連ある機能を部品化するために開発され、タグライブラリとして配布されます。
カスタムタグは、JSPがサーブレットに変換されるタイミングでタグハンドラと呼ばれるJavaの処理に変換され、実行時にタグハンドラは動的にコンテンツを組み立てて、その結果を応答オブジェクトに出力します。
目次 索引 |