Serializable で永続化を確認する

MSG を表示します
Initial Message
"Beans Message" を設定します
MSG を表示します
Beans Message

Beans に Serializable を設定して、Object の永続化を確認します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. このプロジェクトは、一個の Java Beans と二個の JSP で構成されています。
  2. STEP-1 として、msgbean から TEXT を取得して表示する方法から説明します。
    プロジェクトのディクトリ構成です。
    C:\tomcat\webapps\ に beans\ のフォルダーを作成してプロジェクトを格納します。
    +beans
        +WEB-INF
            +classes
                +mybean
                    ・msgbean.java
                    *msgbean.class
            +lib
        ・getmsg.jsp
    
  3. Java Beans のソース msgbean.java です。
    package を設定して Serializable を実装しています。
    プロパティは msg だけで、初期値として "Initial Message" を設定します。
    メソッドは msg を取得するメソッドと設定するメソッドが定義されています。
    //★ Message を設定/取得する Bean    前田 稔
    package mybean;
    
    import java.io.Serializable;
    
    public class msgbean implements Serializable
    {   private String  msg;
    
        public msgbean()
        {   msg= "Initial Message";  }
    
        public void setMsg(String msg)  {  this.msg= msg;  }
        public String getMsg()  {  return this.msg;  }
    }
    
  4. Beans を呼び出す getmsg.jsp です。
    jsp:getProperty name="message" property="msg" で getMsg() メソッドを呼び出します。
    Property を取得するときは getProperty を、設定するときは setProperty を使います。
    ・属性「name」は「<jsp:useBean>」で指定した「id」を指定します。
    ・属性「property」は Bean の中のどの変数に値を設定するかを指定します。
    ・属性「value」は設定する値を指定します。
    Property の名前に "msg" と書くと、先頭を大文字にした getMsg() メソッドが呼ばれます。
    <%@ page contentType="text/html; charset=Shift_JIS" %>
    <jsp:useBean id="message" scope="application" class="mybean.msgbean" />
    
    <html>
    <head>
    <title>MSG を表示します</title>
    </head>
    <body>
    
    <h1>MSG を表示します</h1>
    
    <jsp:getProperty name="message" property="msg" />
    
    </body>
    </html>
    
  5. "C:\tomcat\bin\tomcat7w.exe" を選択して、管理者として実行から apache-tomcat を起動します。
    WWW ブラウザを立ち上げて次の URL を貼り付けます。
    http://localhost:8080/beans/getmsg.jsp
    初期値で設定した "Initial Message" が表示されたら STEP-1 はOKです。
    MSG を表示します
    Initial Message

STEP-2

  1. STEP-2 では msgbean の msg に "Beans Message" を設定します。
    Java Beans のプログラム msgbean.class(java) は STEP-1 で完成しています。
    後は C:\tomcat\webapps\beans\ に setmsg.jsp を格納するだけです。
  2. msg を設定する setmsg.jsp です。
    jsp:setProperty name="message" property="msg" value="Beans Message" で setMsg() メソッドを呼び出します。
    Property を取得するときは getProperty を、設定するときは setProperty を使います。
    ・属性「name」は「<jsp:useBean>」で指定した「id」を指定します。
    ・属性「property」は Bean の中のどの変数に値を設定するかを指定します。
    ・属性「value」は設定する値を指定します。
    Property の名前に "msg" と書くと、先頭を大文字にした setMsg() メソッドが呼ばれます。
    <%@ page contentType="text/html; charset=Shift_JIS" %>
    <jsp:useBean id="message" scope="application" class="mybean.msgbean" />
    
    <html>
    <head>
    <title>MSG を設定します</title>
    </head>
    <body>
    
    <h1>"Beans Message" を設定します</h1>
    
    <jsp:setProperty name="message" property="msg" value="Beans Message" />
    
    </body>
    </html>
    
  3. scope="application" に注目して下さい。
    Serializable を設定した Beans に "application" を設定すると、アプリケーション間で Object の値が引き継がれます。
    「プログラム入門(Java)/Console Mode Program/Java Beans の基礎/Serializable」では、 セーブとロードのコードを書きましたが、サーバーサイドでは自動的に面倒を見てくれるようです。
  4. WWW ブラウザを立ち上げて次の URL を貼り付けます。
    http://localhost:8080/beans/setmsg.jsp
    "Beans Message" を設定します
  5. scope="application" を設定した効果を確かめてみましょう。
    WWW ブラウザを立ち上げて次の URL を貼り付けます。
    http://localhost:8080/beans/getmsg.jsp
    ページがキャッシュされているかも知れないので、更新をクリックして下さい。
    STEP-1 では "Initial Message" が表示されていました。
    MSG を表示します
    Initial Message
    所が今回は、同じように起動しても "Beans Message" が表示されるでしょう。
    MSG を表示します
    Beans Message
    setmsg.jsp で設定された Beans の内容が、セーブ/ロードで引き継がれた結果です。
    このことを永続化などと呼んでいます。

Java Game Program