JSP暗黙オブジェクト「session」
日本語 | ジャバ給仕頁暗黙物体「対話期間」 |
英語 | JSP implicit objects session |
ふりがな | じぇいえすぴーあんもくおぶじぇくとせっしょん、じぇーえすぴーあんもくおぶじぇくとせっしょん |
フリガナ | ジェイエスピーアンモクオブジェクトセッション、ジェーエスピーアンモクオブジェクトセッション |
JSP暗黙オブジェクトのひとつ。
HttpSessionインターフェイスの変数。スクリプトレット(<% %>)等で使用することができる。
「session」の名の通り、セッションに格納された情報を扱うことができる。サーブレットやJSPでセッションにセットされた情報を取得することができ、また、逆にセッションに情報をセットすることもできる。
HttpSessionインターフェイスの変数。スクリプトレット(<% %>)等で使用することができる。
「session」の名の通り、セッションに格納された情報を扱うことができる。サーブレットやJSPでセッションにセットされた情報を取得することができ、また、逆にセッションに情報をセットすることもできる。
参考サイト
<%-- webapps/sample-servlet/WEB-INF/jsp/sample.jsp --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<HTML>
<HEAD>
<TITLE>JSPのサンプル</TITLE>
</HEAD>
<BODY>
<%
// JSP暗黙オブジェクト「session」 を使用して、セッションから
// sampleBeanを取得します。
bean.SampleBean sampleBean = (bean.SampleBean)session.getAttribute( "sample_bean" );
out.println( sampleBean.getData() );
%>
</BODY>
</HTML>
// webapps/sample-servlet/WEB-INF/src/SampleServlet.java
// http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。
// このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import bean.SampleBean;
/**
* サーブレットのテスト。
*/
public class SampleServlet extends HttpServlet
{
/**
* リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
*/
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException
{
System.out.println( "SampleServlet#doGet()" );
// Content-Typeをセット。
response.setContentType( "text/html;charset=Windows-31J" );
// SampleBean Java Beanクラスを作成し、JSPで使えるようにセットします。
SampleBean sampleBean = new SampleBean();
sampleBean.setData( 100 );
// HttpSessionを取得します。
HttpSession session = request.getSession( true );
// 「sample_bean」の名前でセッションに登録します。
session.setAttribute( "sample_bean", sampleBean );
// サーブレットコンテキストを取得します。
ServletContext servletContext = getServletContext();
// リクエストディスパッチャーを取得します。
RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher( "/WEB-INF/jsp/sample.jsp" );
// 指定したJSPへと転送します。
requestDispatcher.forward( request, response );
}
}
// webapps/sample-servlet/WEB-INF/src/bean/SampleBean.java
package bean;
// Java Beanは、JSPで使用する関係でパッケージに入れる必要があります。
// ここではbeanパッケージに入れます。
// 一応、Java Beanは直列化可能にする必要があります。
// 実際には必要ない場合も多いですが。
import java.io.Serializable;
/**
* SampleServletで使用するJava Beanクラスです。
*/
public class SampleBean implements Serializable
{
/**
* プロパティ。
*/
private int data;
/**
* コンストラクタ。
*/
public SampleBean()
{
data = 0;
}
/**
* プロパティのgetter。
*/
public int getData()
{
return data;
}
/**
* プロパティのsetter。
*/
public void setData( int value )
{
this.data = value;
}
}
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<HTML>
<HEAD>
<TITLE>JSPのサンプル</TITLE>
</HEAD>
<BODY>
<%
// JSP暗黙オブジェクト「session」 を使用して、セッションから
// sampleBeanを取得します。
bean.SampleBean sampleBean = (bean.SampleBean)session.getAttribute( "sample_bean" );
out.println( sampleBean.getData() );
%>
</BODY>
</HTML>
// webapps/sample-servlet/WEB-INF/src/SampleServlet.java
// http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。
// このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import bean.SampleBean;
/**
* サーブレットのテスト。
*/
public class SampleServlet extends HttpServlet
{
/**
* リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
*/
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException
{
System.out.println( "SampleServlet#doGet()" );
// Content-Typeをセット。
response.setContentType( "text/html;charset=Windows-31J" );
// SampleBean Java Beanクラスを作成し、JSPで使えるようにセットします。
SampleBean sampleBean = new SampleBean();
sampleBean.setData( 100 );
// HttpSessionを取得します。
HttpSession session = request.getSession( true );
// 「sample_bean」の名前でセッションに登録します。
session.setAttribute( "sample_bean", sampleBean );
// サーブレットコンテキストを取得します。
ServletContext servletContext = getServletContext();
// リクエストディスパッチャーを取得します。
RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher( "/WEB-INF/jsp/sample.jsp" );
// 指定したJSPへと転送します。
requestDispatcher.forward( request, response );
}
}
// webapps/sample-servlet/WEB-INF/src/bean/SampleBean.java
package bean;
// Java Beanは、JSPで使用する関係でパッケージに入れる必要があります。
// ここではbeanパッケージに入れます。
// 一応、Java Beanは直列化可能にする必要があります。
// 実際には必要ない場合も多いですが。
import java.io.Serializable;
/**
* SampleServletで使用するJava Beanクラスです。
*/
public class SampleBean implements Serializable
{
/**
* プロパティ。
*/
private int data;
/**
* コンストラクタ。
*/
public SampleBean()
{
data = 0;
}
/**
* プロパティのgetter。
*/
public int getData()
{
return data;
}
/**
* プロパティのsetter。
*/
public void setData( int value )
{
this.data = value;
}
}
<%-- webapps/sample-servlet/WEB-INF/jsp/sample.jsp --%> <%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <%-- pageEncodingには、このファイルを保存した時の文字コードを指定してください。 Windowsであれば"Windows-31J"を指定すればいいでしょう。 --%> <HTML> <HEAD> <TITLE>JSPのサンプル</TITLE> </HEAD> <BODY> <% // JSP暗黙オブジェクト「session」 を使用して、セッションから // sampleBeanを取得します。 bean.SampleBean sampleBean = (bean.SampleBean)session.getAttribute( "sample_bean" ); out.println( sampleBean.getData() ); %> </BODY> </HTML> // webapps/sample-servlet/WEB-INF/src/SampleServlet.java // http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。 // このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。 import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import bean.SampleBean; /** * サーブレットのテスト。 */ public class SampleServlet extends HttpServlet { /** * リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。 */ public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException { System.out.println( "SampleServlet#doGet()" ); // Content-Typeをセット。 response.setContentType( "text/html;charset=Windows-31J" ); // SampleBean Java Beanクラスを作成し、JSPで使えるようにセットします。 SampleBean sampleBean = new SampleBean(); sampleBean.setData( 100 ); // HttpSessionを取得します。 HttpSession session = request.getSession( true ); // 「sample_bean」の名前でセッションに登録します。 session.setAttribute( "sample_bean", sampleBean ); // サーブレットコンテキストを取得します。 ServletContext servletContext = getServletContext(); // リクエストディスパッチャーを取得します。 RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher( "/WEB-INF/jsp/sample.jsp" ); // 指定したJSPへと転送します。 requestDispatcher.forward( request, response ); } } // webapps/sample-servlet/WEB-INF/src/bean/SampleBean.java package bean; // Java Beanは、JSPで使用する関係でパッケージに入れる必要があります。 // ここではbeanパッケージに入れます。 // 一応、Java Beanは直列化可能にする必要があります。 // 実際には必要ない場合も多いですが。 import java.io.Serializable; /** * SampleServletで使用するJava Beanクラスです。 */ public class SampleBean implements Serializable { /** * プロパティ。 */ private int data; /** * コンストラクタ。 */ public SampleBean() { data = 0; } /** * プロパティのgetter。 */ public int getData() { return data; } /** * プロパティのsetter。 */ public void setData( int value ) { this.data = value; } }