JAvaEE jspとjavaBeanの使用
6528 ワード
MVC設計モード:(Model View Control)
Class jsp Servlet
JavaBeanは、プラットフォーム間で再利用可能なソフトウェアコンポーネントです.JavaBeanは2つに分けられます.1つはユーザーインタフェース(UI)のあるjavaBeanです.
もう1つは、データ演算、データベース操作などのトランザクションを主に処理するユーザーインタフェースのないjavaBeanです.Jspは通常後者のjavaBeanにアクセスする.
JspとjavaBeanを組み合わせて使用するメリット:
1.htmlをjavaプログラムから分離することで、コードのメンテナンスが容易になります.すべてのプログラムコードをjspページに書き込むと、コードが煩雑で次元が立たない
ガード.
2.jspウェブページの開発者のjavaプログラミング能力に対する要求を低減することができる.
3.jspは動的Webページの生成に重点を置き、トランザクションはjavaBeanによって完成され、javaBeanコンポーネントの再利用性の特徴を十分に利用し、開発を向上させることができる.
Webサイトの効率性.
標準javaBeanには、次の機能があります.
1.javaBeanは共通のクラスです
2.javaBeanにはパラメータを持たない構造方法がある
3.javaBeanはsetXXXメソッドでプロパティを設定し、getXXXメソッドでプロパティを取得します.
JspアクセスjavaBeanの構文
1.javaBeanクラスのインポート
2.javaBeanオブジェクトの宣言
実は
Idはクラスを生成するインスタンスを表し、一般idは重複せず、異なるオブジェクトを表すために使用され、同じ場合は同じオブジェクトを表す場合、jspは報告する
間違いです.3.javaBeanプロパティへのアクセス
実は
完全な例:
beanのプロパティ値の設定
1.でparamパラメータでbeanの属性を動的に割り当てることができます.
sageは属性ではなくパラメータ名を表します
ブラウザのアドレスバーに入力
http://localhost:8080/test/javabean.jsp?sage=30
age属性の値30が得られる
Javabeanの生存範囲
Scopeプロパティはjavabeanオブジェクトの存在範囲を決定します.オプションの値は次のとおりです.
1.page(デフォルト)
2.request
3.session
4.application
Javabeanがpage範囲内にある場合
お客様は、jspページへのアクセスを要求するたびにjavabeanオブジェクトを作成します.Javabeanオブジェクトの有効範囲は、顧客がアクセスを要求する現在のjspネットワークです.
で行ないます.Javabeanオブジェクトの次の2つの場合、ライフサイクルは終了します.
1.お客様がアクセスを求めているのは、現在のjspページがタグでリクエストを別のファイルに転送することです.
2.顧客がアクセスを要求したのは、現在のjspページの実行が完了し、クライアントに応答を返すことである.
Javabeanはrequestの範囲内です
お客様は、jspページへのアクセスを要求するたびに、新しいjavabeanオブジェクトを作成します.Javabeanオブジェクトの有効範囲は次のとおりです.
1.お客様がアクセスを要求している現在のjspページ.
2.現在のWebページと顧客要求のWebページを共有します.すなわち、現在のjsp Webページの<%@include%>コマンドおよびタグに含まれる他のjspファイルです.
3.javabeanオブジェクトは、同じクライアント要求を共有するすべてのjspページが実行され、クライアントに応答すると、ライフサイクルを終了します.
4.javabeanオブジェクトは属性としてhttp Requestオブジェクトに保存され、属性名javabeanのid、属性値javabeanオブジェクトであるため、
HttpRequest.getAttribute()メソッドjavabeanオブジェクトを取得します.たとえば、次のようにします.
Jvabean.jsp
Javabean2.jsp
Javabeanはセッションの範囲内です
1.Javabeanオブジェクトが作成されると、セッション全体のライフサイクルに存在し、セッション内のjspファイルがjavabeanオブジェクトを共有します.
2.javabeanオブジェクトは、属性としてHttpSessionオブジェクトに保存されます.属性名はjavabeanのidで、属性値はjavabeanオブジェクトです.通過できる以外は
JAvabeanのidはjavabeanオブジェクトを直接参照するほか、HttpSession.getAttribute()メソッドjavabeanオブジェクトを取得します.たとえば、次のようにします.
Javabeanはアプリケーションの範囲内です
1.javabeanオブジェクトが作成されると、Webアプリケーション全体のライフサイクルに存在し、Webアプリケーション内のすべてのjspファイルが同じjavabeanを共有できます.
オブジェクト.
2.javabeanオブジェクトはアプリケーションオブジェクトに属性として保存されます.属性名はjavabeanのidで、属性値はjavabeanオブジェクトです.
JAvabeanのidはオブジェクトを直接参照するほか、javabeanのアプリケーションでもよい.getAttribute()メソッドjavabeanオブジェクトを取得します.たとえば、次のようにします.
Personクラスがある場合、属性nameがあります.
なぜgetCCNmaなどではなくgetName()メソッドとsetName()メソッドを提供するのですか?
この仕様を守ってこそ、反射によってこの2つの方法を呼び出すことができるからです.
ポイント:
page,request,session,applicationの違いとライフサイクルを区別します.
Class jsp Servlet
JavaBeanは、プラットフォーム間で再利用可能なソフトウェアコンポーネントです.JavaBeanは2つに分けられます.1つはユーザーインタフェース(UI)のあるjavaBeanです.
もう1つは、データ演算、データベース操作などのトランザクションを主に処理するユーザーインタフェースのないjavaBeanです.Jspは通常後者のjavaBeanにアクセスする.
JspとjavaBeanを組み合わせて使用するメリット:
1.htmlをjavaプログラムから分離することで、コードのメンテナンスが容易になります.すべてのプログラムコードをjspページに書き込むと、コードが煩雑で次元が立たない
ガード.
2.jspウェブページの開発者のjavaプログラミング能力に対する要求を低減することができる.
3.jspは動的Webページの生成に重点を置き、トランザクションはjavaBeanによって完成され、javaBeanコンポーネントの再利用性の特徴を十分に利用し、開発を向上させることができる.
Webサイトの効率性.
標準javaBeanには、次の機能があります.
1.javaBeanは共通のクラスです
2.javaBeanにはパラメータを持たない構造方法がある
3.javaBeanはsetXXXメソッドでプロパティを設定し、getXXXメソッドでプロパティを取得します.
package com.anllin.bean;
public class Person{
private String name;
private int age;
private String address;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
public String getAddress(){
return address;
}
public void setAddress(String address){
this.address = address;
}
}
JspアクセスjavaBeanの構文
1.javaBeanクラスのインポート
<%@ page import="com.anllin.bean.Person" %>
2.javaBeanオブジェクトの宣言
<jsp:useBean id="person" class="com.anllin.bean.Person"></jsp:useBean>
実は
<%
Person person = new Person();
%>
Idはクラスを生成するインスタンスを表し、一般idは重複せず、異なるオブジェクトを表すために使用され、同じ場合は同じオブジェクトを表す場合、jspは報告する
間違いです.3.javaBeanプロパティへのアクセス
<jsp:setProperty property="name" name="person" value="jack"/>
<jsp:getProperty property="name" name="person"/>
実は
<%
person.setName("jack");
person.getName();
%>
完全な例:
<%@ page language="java" import="com.anllin.bean.Person" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'javabean.jsp' starting page</title>
</head>
<body>
<jsp:useBean id="person" class="com.anllin.bean.Person"></jsp:useBean>
<jsp:setProperty property="name" name="person" value="jack"/>
<jsp:setProperty property="age" name="person" value="20"/>
<jsp:setProperty property="address" name="person" value="beijing"/>
<jsp:getProperty property="name" name="person"/><br>
<jsp:getProperty property="age" name="person"/><br>
<jsp:getProperty property="address" name="person"/><br>
</body>
</html>
beanのプロパティ値の設定
1.
<jsp:setProperty property="age" name="person" param="sage"/>
sageは属性ではなくパラメータ名を表します
ブラウザのアドレスバーに入力
http://localhost:8080/test/javabean.jsp?sage=30
age属性の値30が得られる
Javabeanの生存範囲
Scopeプロパティはjavabeanオブジェクトの存在範囲を決定します.オプションの値は次のとおりです.
1.page(デフォルト)
2.request
3.session
4.application
<jsp:useBean id="person" class="com.anllin.bean.Person" scope="page"></jsp:useBean>
Javabeanがpage範囲内にある場合
お客様は、jspページへのアクセスを要求するたびにjavabeanオブジェクトを作成します.Javabeanオブジェクトの有効範囲は、顧客がアクセスを要求する現在のjspネットワークです.
で行ないます.Javabeanオブジェクトの次の2つの場合、ライフサイクルは終了します.
1.お客様がアクセスを求めているのは、現在のjspページが
2.顧客がアクセスを要求したのは、現在のjspページの実行が完了し、クライアントに応答を返すことである.
Javabeanはrequestの範囲内です
お客様は、jspページへのアクセスを要求するたびに、新しいjavabeanオブジェクトを作成します.Javabeanオブジェクトの有効範囲は次のとおりです.
1.お客様がアクセスを要求している現在のjspページ.
2.現在のWebページと顧客要求のWebページを共有します.すなわち、現在のjsp Webページの<%@include%>コマンドおよび
3.javabeanオブジェクトは、同じクライアント要求を共有するすべてのjspページが実行され、クライアントに応答すると、ライフサイクルを終了します.
4.javabeanオブジェクトは属性としてhttp Requestオブジェクトに保存され、属性名javabeanのid、属性値javabeanオブジェクトであるため、
HttpRequest.getAttribute()メソッドjavabeanオブジェクトを取得します.たとえば、次のようにします.
Jvabean.jsp
<jsp:useBean id="person" class="com.anllin.bean.Person" scope="request"></jsp:useBean>
<jsp:forward page="javabean2.jsp"></jsp:forward>
Javabean2.jsp
<%@ page import="com.anllin.bean.Person" %>
<%
Person person = (Person)request.getAttribute("person");
out.print(person.getName());
%>
Javabeanはセッションの範囲内です
1.Javabeanオブジェクトが作成されると、セッション全体のライフサイクルに存在し、セッション内のjspファイルがjavabeanオブジェクトを共有します.
2.javabeanオブジェクトは、属性としてHttpSessionオブジェクトに保存されます.属性名はjavabeanのidで、属性値はjavabeanオブジェクトです.通過できる以外は
JAvabeanのidはjavabeanオブジェクトを直接参照するほか、HttpSession.getAttribute()メソッドjavabeanオブジェクトを取得します.たとえば、次のようにします.
<jsp:useBean id="person" class="com.anllin.bean.Person" scope="session"></jsp:useBean>
Person person = (Person)session.getAttribute("person");
out.print(person.getName());
Javabeanはアプリケーションの範囲内です
1.javabeanオブジェクトが作成されると、Webアプリケーション全体のライフサイクルに存在し、Webアプリケーション内のすべてのjspファイルが同じjavabeanを共有できます.
オブジェクト.
2.javabeanオブジェクトはアプリケーションオブジェクトに属性として保存されます.属性名はjavabeanのidで、属性値はjavabeanオブジェクトです.
JAvabeanのidはオブジェクトを直接参照するほか、javabeanのアプリケーションでもよい.getAttribute()メソッドjavabeanオブジェクトを取得します.たとえば、次のようにします.
<jsp:useBean id="person" class="com.anllin.bean.Person" scope="application"></jsp:useBean>
Person person = (Person)application.getAttribute("person");
out.print(person.getName());
Personクラスがある場合、属性nameがあります.
なぜgetCCNmaなどではなくgetName()メソッドとsetName()メソッドを提供するのですか?
この仕様を守ってこそ、反射によってこの2つの方法を呼び出すことができるからです.
ポイント:
page,request,session,applicationの違いとライフサイクルを区別します.