検索

キーワード


【Java】JSPの暗黙オブジェクト

  • 公開日:2020-10-21 16:32:14
  • 最終更新日:2020-11-13 21:42:05
【Java】JSPの暗黙オブジェクト

こんにちは。エンジニアの新田です!

ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。

今回は、JSPの暗黙オブジェクトについて紹介します。

Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!

関連記事:【Java】JSPの基本的な構文 【Java】JSPのEL式


JSPの暗黙オブジェクト

宣言無しで最初から利用できるオブジェクトが暗黙オブジェクトです。

サーブレットへの変換時に自動で宣言・インスタンス化してくれもので、スクリプトレットや式の中で利用することができます。


使用頻度の高い暗黙オブジェクト


request

javax.servlet.http.HttpServletRequestクラスのオブジェクトで、クライアントから送信されたパラメータ、ヘッダー情報、Cookie等を取得する事ができます。

ただし、pageディレクティブのsession属性にfalseが設定されている場合、sessionオブジェクトは使用できません。

【requestオブジェクトの使用例

以下のようなリクエストが送信されるものとする

http://localhost:8080/contextroot/test.jsp?name=tanaka

test.jsp

<%@ page contentType="text/html; charset=UTF-8" %>
<HTML>
    <BODY>

// リクエストパラメータから値を取得
<%
String name =request.getParameter("name");
%>

こんにちは、<%= name %>さん
    </BODY>
</HTML>



session

javax.servlet.http.HttpSessionクラスのオブジェクトで、クライアントとサーバ間のセッション情報を管理する事ができます。

ただし、pageディレクティブのsession属性にfalseが設定されている場合、sessionオブジェクトは使用できません。

【sessionオブジェクトの使用例

<%@ page contentType="text/html; charset=UTF-8" %>
<HTML>
    <BODY>
<%
// セッションスコープに値を設定
session.setAttribute("name","佐藤");
%>

// セッションスコープから値を取得
<%
String name =(String)session.getAttribute("name");
%>

こんにちは、<%= name %>さん
    </BODY>
</HTML>



out

javax.servlet.jsp.JspWriterクラスクラスのオブジェクトで、ブラウザへの出力やバッファ処理など主に出力系の処理が実行できます。

スクリプトレットでHTMLを出力するときに使います。

【outオブジェクトの使用例

<%@ page contentType="text/html; charset=UTF-8" %>
<HTML>
    <BODY>

<%
// スクリプトレット内でHTMLを出力
out.println("こんにちは、ゲストさん");
%>

    </BODY>
</HTML>



response

javax.servlet.http.HttpServletResponseクラスのオブジェクトで、クライアントに送信するレスポンスにアクセスできます。

クライアントに返す、ヘッダー情報、HTTPステータス、Cookieなどを設定することができます。



その他の暗黙オブジェクト

pageContext

javax.servlet.jsp.PageContextクラスのオブジェクト変数で、JSPで使われるすべてのオブジェクトを管理することができます。

すべての暗黙オブジェクトを参照するメソッド、すべてのスコープのデータを管理するメソッドを持っています。


application

javax.servlet.ServletContextクラスのオブジェクト変数で、コンテキスト全体に関する操作を行う際に使用します。

applicationスコープを持つデータの管理、コンテキスト全体で共有する初期化パラメータの取得などに使用します。


page

javax.servlet.jsp.HttpJspPageクラスのオブジェクトだが、java.lang.Objectクラスにキャストされている。

JSPページ自身を表す。「this」と同じ。あまり使用されることはない。


config

javax.servlet.ServletConfigクラスのオブジェクトで、web.xmlで定義した初期化パラメータにアクセスできます。

web.xmlファイルに指定された初期化パラメータ(<init-param>タグ)を取得することができます。






関連記事:【Java】JSPの基本的な構文 【Java】JSPのEL式




【著者】

新田

JavaメインのWebアプリケーション開発に多く携わっています。
Javaの基本的な部分の紹介や、これまで経験したシステム開発手法、新しい技術についても紹介していこうと思います。

よく読まれている記事
【Java】JSPでタグライブラリを使う(JSTL)

【Java】JSPでタグライブラリを使う(JSTL)

こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様