JSP (JavaServer Pages)

JavaServer Pages (JSP) とは、Javaプログラムを埋め込んだHTMLから自動的にJavaサーブレットを生成できる仕組みです。

application

application は javax.servlet.ServletContext クラスのオブジェクトで、JSP において宣言しなくても使える特別なオブジェクトである。これをサーブレット内で取得しようとするとgetServletConfig().getServletContext()などとしなければならないが、JSPではこのようにあらかじめ用意されています。

config

config は javax.servlet.ServletConfig クラスのオブジェクトであり、JSP において宣言しなくても使える特別なオブジェクトである。

configはサーブレット内ではgetServletConfig()などとして取得しなければなりませんが、applicationと同様にJSPではあらかじめ用意されています。初期設定パラメータを取得するのに使用します。

exception

exception は javax.lang.Throwable クラスのオブジェクトであり、JSP において宣言しなくても使える特別なオブジェクトである。

out

out は javax.servlet.jsp.JspWriter クラスのオブジェクトであり、JSP において宣言しなくても使える特別なオブジェクトである。

outはクライアント(ユーザのブラウザ画面)への出力ストリームを表しており、print(), println()メソッドでHTMLタグなどを送信するのに使用します。

out.print()メソッドとout.println()メソッドの違いは、改行をするかしないかの点です。ただし、その改行とはCR+LFのことであって、<br>タグのことではありません。

page

page は javax.lang.Object クラスのオブジェクトであり、JSP において宣言しなくても使える特別なオブジェクトである。

pageContext

pageContext は javax.servlet.jsp.PageContext クラスのオブジェクトであり、JSP において宣言しなくても使える特別なオブジェクトである。

request

request は javax.servlet.ServletRequest クラスのオブジェクトであり、JSP において宣言しなくても使える特別なオブジェクトである。

クライアントから受信したパラメータやデータを送信してきたクライアントのIPアドレスなどを取り出すことができます。

requestオブジェクトが持つメソッドのうち、最もよく使われるであろうgetParameter()メソッドですが、これはひとつのパラメータを取り出します。しかし、checkboxを使用する場合は、名前はひとつでも複数の値を送信してきます。そんなときにはgetParameterValues()メソッドを使用します。

requestオブジェクトの使用例を次に示します。

if (request.getParameter("reset") != null) {
  counter.reset();
}

response

responseはjavax.servlet.ServletResponseのサブクラスなのですが、実際にはHttpServletResponseのメソッドが使用できます。クライアント(ユーザのブラウザ画面)に送信すべきtext/htmlなどのデータをセットするのに使用できます。

session

session は javax.servlet.http.HttpSession クラスのオブジェクトであり、JSP において宣言しなくても使える特別なオブジェクトである。

クライアントに接続していることを示すためのセッションIDを保持しています。クライアントが接続している間はページの間をまたがってオブジェクトを保持させておくことができます。

JSTL Functions

fn:contains()

文字列の中に部分文字列が含まれているかどうかを返す。

fn:contains(string, substring)

fn:containsIgnoreCase()

文字列の中に部分文字列が含まれているかどうかを返す。比較の際、大文字と小文字は区別しない。

fn:containsIgnoreCase(string, substring)

fn:endsWith()

指定した文字列で終わるかどうかを返す。

fn:endsWith(string, suffix)

fn:escapeXml()

文字列に含まれるXML予約文字をエスケープする。

fn:indexOf(string, substring)

fn:indexOf()

部分文字列が出現する位置を返す。

fn:indexOf(string, substring)

fn:join()

配列の各要素を連結して文字列として返す。

fn:join(array, separator)

fn:length()

コレクションの項目数又は文字列の文字数を返す。

fn:length(object)

fn:replace()

文字列を置き換える。

fn:replace(string, before, after)

fn:split()

文字列を分割して配列で返す。

fn:split(string, separator)

fn:startsWith()

指定した文字列で始まるかどうかを返す。

fn:startsWith(string, prefix)

fn:substring()

部分文字列を返す。

fn:substring(string, start, end)

fn:substringAfter()

指定文字列以降の文字列を返す。

fn:substringAfter(string, substring)

fn:substringBefore()

指定文字列以前の文字列を返す。

fn:substringBefore(string, substring)