JavaA2Z

KAB-studio > プログラミング > JavaA2Z > JSPとは

JSP

日本語 ジャバ給仕頁
英語 JavaServer Pages
ふりがな じぇいえすぴー、じぇーえすぴー
フリガナ ジェイエスピー、ジェーエスピー

解説

HTMLJavaプログラムを埋め込んだファイル
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アプリケーション」の項目を参考に準備をってから使用すること。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

<%-- 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>
<%-- 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>

この単語を含むページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/08/23
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。