JSP 【JavaServer Pages】 Jakarta Server Pages
概要
JSP(JavaServer Pages)とは、Webページ内にJavaプログラムを埋め込み、これをサーバ上で実行して結果を反映したページを動的に生成することができる技術。動的に内容が変化するWebページを容易に開発することができる。HTMLで記述されたWebページの中に「<%」と「%>」で囲まれた「スクリプトレット」(scriptlet)と呼ばれる部分を作り、その中にJavaプログラムを記述することができる。Webブラウザなどからのアクセス要求があると、Webサーバがこの部分を実行し、結果をHTMLコード中の所定の場所へ埋め込んで送信する。
「カスタムタグ」(custom tag)と呼ばれる仕組みにより、スクリプトレットに依らずにHTMLのタグとしてデータの参照など簡易な処理を記述することができる。JSPが標準で用意している「<jsp:」で始まるタグは「アクション」とも呼ばれる。
汎用的なタグや特定の分野の機能を実装したタグを集めた様々な「カスタムタグライブラリ」が公開されており、JSP標準では変数の操作や参照、文字列操作、制御構文など基本的な機能を組み込んだ「JSTL」(JavaServer Pages Standard Tag Library)が利用できる。
JSP 2.0ではEL式(Expression Language、式言語)と呼ばれる記法が導入され、「${」と「}」で囲まれた部分を式として評価し、その箇所に結果を代入してくれる。この記法は現在ではJSPのみならずJava EE(Jakarta EE)全体で利用できるようになっている。
JSPはWebサーバ上でJavaプログラムを動的に実行する「Javaサーブレット」(Java Servlet)技術を応用したもので、内部的にはJSPはサーブレットに変換されて実行されている。いわゆる「テンプレートエンジン」をJavaで実装したもので、特殊な記法でHTMLファイル中にプログラムを埋め込む仕組みは「PHP」やMicrosoft Internet Information Servicesの「ASP」(Active Server Pages)「ASP.NET」などと共通している。
JSPの最初の仕様は1999年にJava開発元の米サン・マイクロシステムズ(Sun Microsystems)社(現Oracle社)によって発行され、後にサーブレットなど関連する仕様とともに「Java EE」(当時はJ2EE)の一部として統合された。現在は後継の「Jakarta EE」仕様の一部となっている。
JSPは特定のオペレーティングシステム(OS)やWebサーバ、ハードウェアの仕様には依存せず、JSPの実行環境を備えたWebサーバソフトウェアならば原則としてどれでも同じように稼動させることができる。いわゆるWebアプリケーションサーバの機能の一部(Webコンテナ)として提供されることが多い。