Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第2部 Servlet/JSP編> 第7章 Webアプリケーションの開発> 7.3 JSPの開発

7.3.2 セション管理

 JSPでも、同一のWebブラウザからの複数回のリクエストを、同一のWebブラウザからのアクセスとして処理することができます。

 サーブレットのセション管理の処理をJava言語の埋め込みとして、JSPに埋め込むことができます。また、JavaBeansを利用した方法でも実現できます。
 <%@ page>タグのsession属性に"true"と、<jsp:useBean>タグのscope属性に"session"を指定します。JavaBeansの呼び出しについては、"ビジネスロジックの埋め込み"を参照してください。

 セションIDは、CookieまたはURLパラメタに埋め込まれます。URLパラメタを使用する場合は、"<%"と"%>"または"<%="と"%>"の中にencodeURLメソッドを記述してください。
 特にencodeURLメソッドを記述しない場合には、セションIDはCookieとなります。


 セションタイムアウトが発生後に処理を継続した場合、新規のセションが確立されます。

■サンプル

 セションIDにCookieを使用したセション管理を利用した簡単なサンプルを以下に示します。
 本サンプルでは、1ページ目で設定した名前を2ページ目で表示しています。

[sample1.jsp]

------------------------------------------------------------------------------------
  <HTML>
  ・・・
  <BODY>
  <FORM action="sample2.jsp">
  <INPUT type="submit" value="NEXT">
  </FORM>
  <%@ page ・・・ session="true"%>
  <jsp:useBean id="sample" scope="session" class="MyApp.AccessName"/>
  ・・・
  <jsp:setProperty name="sample" property="name" param="username"/>
  ・・・
------------------------------------------------------------------------------------

[sample2.jsp]

------------------------------------------------------------------------------------
  <HTML>
  ・・・
  <BODY>
  <%@ page ・・・ session="true"%>
  <jsp:useBean id="sample" scope="session" class="MyApp.AccessName"/>
  ・・・
  <jsp:getProperty name="sample" property="name"/>
  ・・・
------------------------------------------------------------------------------------

[AccessName.java]

------------------------------------------------------------------------------------
  package MyApp;
  public class AccessName {
  ・・・
    String name;
    public AccessName() {
    }
    public String getName() {
      return name;  }
    public void setName(String inputname) {
      name = inputname;  }
  }
------------------------------------------------------------------------------------

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005