Jsp_Servlet_JavaBean_Chapter07_理論ノート


1、JavaBean
*コンセプト
広義の観点から言えば、どの規範に合致するJavaクラスもJavaBeanと呼ぶことができる.
狭義の観点から、JavaBeanのクラスになるには3つの条件を満たす必要があります.
●共有クラスで、パラメータを持たない共有構造方法(??)
●属性私有化
●共通のアクセス属性を持つsetterとgetterメソッド
    
例:User.java

     public class User {
     	  
     	  private String username;
     	  private String password;
     	
     	  public User() {
     	  }
     	  
     	  public void setUsername(String username) {
     	  	this.username = username;
     	  }
     	  
     	  public String getUsername() {
     	  	return this.username;
     	  }
     	  
     	  public void setPassword(String password) {
     	  	this.password = password;
     	  }
     	  
     	  public String getPassword() {
     	  	return this.password;
     	  }
     }

  
*分類
機能的に分ける:データをカプセル化し、業務をカプセル化する
2、標準動作
   test.html
   <%
       String username = request.getParameter("txtUserName");
       String password = request.getParameter("txtPassWord");
  
      User user = new User();
      request.setAttribute("user", user);
      user.setUsername(username);
      user.setPassword(password);
   %>
  
   username: <%=user.getUsername() %>

   password: <%=user.getPassword() %>
*役割:以前はjspでJavaBeanを使用していた場合、Javaスクリプトを使用する必要がありました.このようにjspページには、大量のHTMLタグだけでなく、
多くのJavaコードは、ページのメンテナンスや拡張に不便です.標準アクションを使用してJavaBeanを操作すると、スクリプトなし環境が提供されます.
  
*構文:
  
*分類
JavaBean関連:useBean,setProperty,getProperty
プロセスに関連する:forward,include,param
  
   * useBean:
●役割:JavaBeanのインスタンスを作成する
●構文:
id:作成したJavaBeanインスタンスの名前を指定する
class:インスタンスを作成するJavaBeanのフルネーム(パッケージ名.クラス名)を指定します.
scope:作成したJavaBeanインスタンスが保存する範囲を指定します.page、request、session、application、デフォルトはpageです.
            
●例:
等価:User user=new User()
                     request.setAttribute("user", user);
  
   * setProperty
●役割:JavaBeanの指定属性に値を設定する
●構文:
●例:
            
            
●注意:paramの属性値はフォーム要素の名前と一致する必要があります
property=「*」を使用する場合、フォーム要素の名前はJavaBeanのプロパティ名と一致し、フォーム要素の値を
JavaBeanに対応する属性上.
setPropertyではvalueとparamを同時に使用できません
          
  
   * getProperty
●役割:JavaBeanの指定属性の値を取得する
●構文:
●例:
  
userBean,setProperty,getProperty実質:
userBean:反射によるJavaBeanのインスタンスの作成
setProperty:属性を反射して呼び出すsetメソッド
getProperty:属性を反射して呼び出すgetメソッド
  
JavaBean仕様の説明
   a)Class classType = Class.forName("com.westaccp.store.User");
     classType.newInstance();
JavaBeanを書くときに、パラメータ付きの構造方法が提供されている場合は、共通の無パラメータの構造方法を手動で提供する必要があります.
パラメトリック構造メソッドが提供されていない場合、Java仮想機会は自動的にパラメトリック構造メソッドを提供し、この場合、手動でパラメトリック構造メソッドを提供しなくてもよい.
b)JavaBeanのプロパティとは?
getメソッドまたはgetメソッドの後ろの文字列です
     setUsername()-->username
     setName()-->name
     getUsername()-->username
     getName()-->name
  
useBeanでのscopeの説明
  
   * forward
●作用:内部ジャンプ、転送要求、作用はrequest.getRequestDispatcher("url").forward(request, response);
●構文:
●例:
           
             
           
  
   * include
●役割:他のページを現在のページに含める
●構文:
●例: