pageオブジェクトの機能
このオブジェクトはJSPページのインスタンスを参照するもので、thisと同等の役割を果たします。java.lang.Objectのインスタンスです。
主なメソッド
| メソッド | 説明 |
|---|---|
Class<?> getClass() | オブジェクトのクラスを取得 |
String toString() | オブジェクトを文字列に変換 |
int hashCode() | ハッシュコードを返す |
実装例
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>pageオブジェクトの動作確認</title>
</head>
<body>
<p>クラス名:<%= page.getClass().getName() %></p>
<p>ハッシュコード:<%= page.hashCode() %></p>
<p>文字列表現:<%= page.toString() %></p>
</body>
</html>configオブジェクトの利用
javax.servlet.ServletConfigのインスタンスで、サーブレットの初期パラメータを管理します。
基本メソッド
| メソッド | 説明 |
|---|---|
String getServletName() | サーブレット名を取得 |
String getInitParameter(String name) | 初期パラメータ値を取得 |
実装例
@WebServlet("/ConfigSample")
public class ConfigSampleServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html;charset=UTF-8");
PrintWriter writer = res.getWriter();
writer.println("サーブレット名: " + getServletConfig().getServletName());
}
}pageContextオブジェクトの役割
ページ全体を管理するオブジェクトで、sessionやapplicationなどの他のオブジェクトにアクセスできます。
主な操作メソッド
| メソッド | 説明 |
|---|---|
Object getAttribute(String name, int scope) | 指定スコープの属性を取得 |
void setAttribute(String name, Object value, int scope) | 指定スコープに属性を設定 |
void forward(String url) | リクエストを別のページに転送 |
スコープ管理の実例
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>スコープ管理のテスト</title>
</head>
<body>
<%
request.setAttribute("scope_data", "リクエストスコープ");
session.setAttribute("scope_data", "セッションスコープ");
%>
<p>リクエストスコープ: <%= pageContext.getAttribute("scope_data", PageContext.REQUEST_SCOPE) %></p>
<p>セッションスコープ: <%= pageContext.getAttribute("scope_data", PageContext.SESSION_SCOPE) %></p>
</body>
</html>exceptionオブジェクトのエラー処理
エラーページとして定義された場合にのみ利用可能です。
エラーページの設定
<%@ page isErrorPage="true" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>エラーメッセージ</title>
</head>
<body>
<p>エラー内容: <%= exception.getMessage() %></p>
</body>
</html>エラー発生ページの例
<%@ page errorPage="error.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>エラー発生テスト</title>
</head>
<body>
<% int result = 10 / 0; %>
</body>
</html>