JSP
日本語 | ジャバ給仕頁 |
英語 | JavaServer Pages |
ふりがな | じぇいえすぴー、じぇーえすぴー |
フリガナ | ジェイエスピー、ジェーエスピー |
HTMLにJavaプログラムを埋め込んだファイル。
「JavaServer Pages」の略。
Webアプリケーションにおいて、画面の表示を行うためのテキストファイル。拡張子は「.jsp」。
基本形式はHTMLファイルと同じだが、ファイル中にJavaのプログラムを埋め込むことができる。
サーブレットのみを使用する場合、HTMLの全てをサーブレットから出力することになり、HTML出力の修正が難しく、また出力結果を想像するのが難しくなる。
JSPはその問題を解決する。HTMLに近い形式で出力し、場合によってはJavaのプログラムを組むこともできる。また、サーブレットと連携することで、サーブレットから渡された情報をJSPで出力する、といった連携が可能になる。
基本はHTMLと同じである。
加えて、以下の機能によりJSPのプログラムを埋め込むことができる。
・スクリプトレット (<% %>)
・JSP式 (<%= %>)
・JSP宣言 (<%! %>)
・JSPコメント (<%-- --%>)
・JSPディレクティブ (<%@ %>)
また、HTML出力部はメソッドとなっており、この出力部とスクリプトレットを組み合わせることで様々な出力を行うことができる。JSP式はその出力を補うものとなる。
このメソッドでは「JSP暗黙オブジェクト」が変数として宣言されており使用することが可能。
JSPにはJavaのプログラムを埋め込むことが可能だが、だからといってJSPにJavaのプログラムを全て埋め込むようなことをしてはならない。
JSPにはクラスを作ることができず、またJSP内にメソッドを作ってもお互いに呼ぶことはできないため、JSPに書き込んだプログラムは再利用性が非常に低いと言える。
また、せっかくの「HTMLに近い形式」というメリットが薄れ、出力結果が想像しにくくなる。
そのため、Javaのプログラムできる限りサーブレットで行い、JSPは出力のみを行う、という連携がJSPの使用法として適切だろう。
JSPは、表示前に「Javaプログラム」に変換される。Tomcatであればインストールディレクトリのworkディレクトリ下に、JSPを変換したソースファイルが出力され、これがコンパイルされる。
そのため、JSPは「JavaのプログラムにHTMLを埋め込んだもの」と言った方が正しいかもしれない。
通常はこの変換を意識する必要はないが、コンパイルエラーを取り除く場合等には、どのようにJavaプログラムへと変換されるのか、といったことを意識する必要がある。
本辞書のJSPの使用例は、「Tomcat」及び「Webアプリケーション」の項目を参考に準備を行ってから使用すること。
「JavaServer Pages」の略。
Webアプリケーションにおいて、画面の表示を行うためのテキストファイル。拡張子は「.jsp」。
基本形式はHTMLファイルと同じだが、ファイル中にJavaのプログラムを埋め込むことができる。
サーブレットのみを使用する場合、HTMLの全てをサーブレットから出力することになり、HTML出力の修正が難しく、また出力結果を想像するのが難しくなる。
JSPはその問題を解決する。HTMLに近い形式で出力し、場合によってはJavaのプログラムを組むこともできる。また、サーブレットと連携することで、サーブレットから渡された情報をJSPで出力する、といった連携が可能になる。
基本はHTMLと同じである。
加えて、以下の機能によりJSPのプログラムを埋め込むことができる。
・スクリプトレット (<% %>)
・JSP式 (<%= %>)
・JSP宣言 (<%! %>)
・JSPコメント (<%-- --%>)
・JSPディレクティブ (<%@ %>)
また、HTML出力部はメソッドとなっており、この出力部とスクリプトレットを組み合わせることで様々な出力を行うことができる。JSP式はその出力を補うものとなる。
このメソッドでは「JSP暗黙オブジェクト」が変数として宣言されており使用することが可能。
JSPにはJavaのプログラムを埋め込むことが可能だが、だからといってJSPにJavaのプログラムを全て埋め込むようなことをしてはならない。
JSPにはクラスを作ることができず、またJSP内にメソッドを作ってもお互いに呼ぶことはできないため、JSPに書き込んだプログラムは再利用性が非常に低いと言える。
また、せっかくの「HTMLに近い形式」というメリットが薄れ、出力結果が想像しにくくなる。
そのため、Javaのプログラムできる限りサーブレットで行い、JSPは出力のみを行う、という連携がJSPの使用法として適切だろう。
JSPは、表示前に「Javaプログラム」に変換される。Tomcatであればインストールディレクトリのworkディレクトリ下に、JSPを変換したソースファイルが出力され、これがコンパイルされる。
そのため、JSPは「JavaのプログラムにHTMLを埋め込んだもの」と言った方が正しいかもしれない。
通常はこの変換を意識する必要はないが、コンパイルエラーを取り除く場合等には、どのようにJavaプログラムへと変換されるのか、といったことを意識する必要がある。
本辞書のJSPの使用例は、「Tomcat」及び「Webアプリケーション」の項目を参考に準備を行ってから使用すること。
参考サイト
- (参考サイトはありません)
<%-- webapps/sample-servlet/sample.jsp --%>
<%-- http://localhost:8080/sample-servlet/sample.jsp でアクセスできます。 --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%-- ↑JSPディレクティブの例。
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<html>
<head>
<title>JSPのサンプル</title>
</head>
<body>
テストです。<br>
<%--
コメントの例。
--%>
<%-- JSP宣言の例。 --%>
<%!
// メソッドを定義します。
private void output()
{
System.out.println( "output()" );
// ここではoutは使用できません。
// out.println( "output" );
// コンパイルエラー:
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: null の中の行: -1でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:17: シンボルを解決できません。
// シンボル: 変数 out
// 場所 : org.apache.jsp.sample_jsp の クラス
// out.println( "output" );
// ^
// エラー 1 個
}
%>
<%-- スクリプトレットの例。 --%>
<%
int i = 100;
out.println( i );
out.println( "<br>" );
%>
<%-- JSP式の例。 --%>
<%= "あいうえお" %>
<%-- 出力結果 --%>
<%--
テストです。
100
あいうえお
--%>
</body>
</html>
<%-- http://localhost:8080/sample-servlet/sample.jsp でアクセスできます。 --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%-- ↑JSPディレクティブの例。
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<html>
<head>
<title>JSPのサンプル</title>
</head>
<body>
テストです。<br>
<%--
コメントの例。
--%>
<%-- JSP宣言の例。 --%>
<%!
// メソッドを定義します。
private void output()
{
System.out.println( "output()" );
// ここではoutは使用できません。
// out.println( "output" );
// コンパイルエラー:
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: null の中の行: -1でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:17: シンボルを解決できません。
// シンボル: 変数 out
// 場所 : org.apache.jsp.sample_jsp の クラス
// out.println( "output" );
// ^
// エラー 1 個
}
%>
<%-- スクリプトレットの例。 --%>
<%
int i = 100;
out.println( i );
out.println( "<br>" );
%>
<%-- JSP式の例。 --%>
<%= "あいうえお" %>
<%-- 出力結果 --%>
<%--
テストです。
100
あいうえお
--%>
</body>
</html>
<%-- webapps/sample-servlet/sample.jsp --%> <%-- http://localhost:8080/sample-servlet/sample.jsp でアクセスできます。 --%> <%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <%-- ↑JSPディレクティブの例。 pageEncodingには、このファイルを保存した時の文字コードを指定してください。 Windowsであれば"Windows-31J"を指定すればいいでしょう。 --%> <html> <head> <title>JSPのサンプル</title> </head> <body> テストです。<br> <%-- コメントの例。 --%> <%-- JSP宣言の例。 --%> <%! // メソッドを定義します。 private void output() { System.out.println( "output()" ); // ここではoutは使用できません。 // out.println( "output" ); // コンパイルエラー: // org.apache.jasper.JasperException: JSPのクラスをコンパイルできません // // JSPファイル: null の中の行: -1でエラーが発生しました // // 生成されたサーブレットのエラーです: // [javac] Compiling 1 source file // // D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:17: シンボルを解決できません。 // シンボル: 変数 out // 場所 : org.apache.jsp.sample_jsp の クラス // out.println( "output" ); // ^ // エラー 1 個 } %> <%-- スクリプトレットの例。 --%> <% int i = 100; out.println( i ); out.println( "<br>" ); %> <%-- JSP式の例。 --%> <%= "あいうえお" %> <%-- 出力結果 --%> <%-- テストです。 100 あいうえお --%> </body> </html>
「みだし」に含まれているページ
「解説」に含まれているページ
- %>
- --%>
- <%
- <% %>
- <%!
- <%! %>
- <%--
- <%-- --%>
- <%=
- <%= %>
- <%@
- <%@ %>
- <%@ page
- <%@ page contentType
- <%@ page errorPage
- <%@ page isErrorPage
- <%@ page pageEncoding
- <%@ taglib
- <jsp:useBean>
- <jsp>
- Content-Type
- CP932
- doGet
- exception
- HTML
- HttpServletRequest
- HttpServletResponse
- Jasper
- JasperException
- JavaBeans
- JavaServer Pages
- JSP
- JspWriter
- JSPコメント
- JSPディレクティブ
- JSP宣言
- JSP式
- JSP指示子
- JSP暗黙オブジェクト
- JSP暗黙オブジェクト「application」
- JSP暗黙オブジェクト「config」
- JSP暗黙オブジェクト「exception」
- JSP暗黙オブジェクト「out」
- JSP暗黙オブジェクト「pageContext」
- JSP暗黙オブジェクト「request」
- JSP暗黙オブジェクト「response」
- JSP暗黙オブジェクト「session」
- JSTL
- MVC
- out
- PageContext
- RequestDispatcher
- ServletContext
- ServletException
- TLD
- tldファイル
- Tomcat
- WAR
- WEB-INF
- Webアプリケーション
- Webサーバー
- アプリケーション
- アプリケーションサーバー
- カスタムタグライブラリ
- コンテナクラス
- サーブレット
- スクリプトレット
- セッションスコープ
- タグ
- タグライブラリ
- タグリブ
- ディスパッチャー
- ビュー
- プロトコル
- リクエストスコープ
- 実体参照
- 拡張子
「サンプルプログラムとか」に含まれているページ
- <%
- <%! %>
- <%-- --%>
- <%= %>
- <%@ %>
- <%@ page
- <%@ page contentType
- <%@ page errorPage
- <%@ page import
- <%@ page isErrorPage
- <%@ page pageEncoding
- <%@ taglib
- <jsp:useBean>
- Content-Type
- HttpServletRequest
- Jasper
- JasperException
- JavaBeans
- JavaServer Pages
- JSP
- JspWriter
- JSPコメント
- JSPディレクティブ
- JSP宣言
- JSP式
- JSP指示子
- JSP暗黙オブジェクト
- JSP暗黙オブジェクト「application」
- JSP暗黙オブジェクト「config」
- JSP暗黙オブジェクト「exception」
- JSP暗黙オブジェクト「out」
- JSP暗黙オブジェクト「pageContext」
- JSP暗黙オブジェクト「request」
- JSP暗黙オブジェクト「response」
- JSP暗黙オブジェクト「session」
- JSTL
- libディレクトリ
- out
- PageContext
- RequestDispatcher
- ServletContext
- TLD
- tldファイル
- Tomcat
- Webサーバー
- イントロスペクション
- カスタムタグライブラリ
- スクリプトレット
- セッションスコープ
- タグライブラリ
- タグリブ
- リクエストスコープ
- 単体テスト