tomcat javaweb 開發(11javabean)

還是看看老師的課件吧,感覺貼到上面還挺方便的,就只好繼續貼啦,爲了以後看資料方便。

                                                                      JavaBean

首先:一:介紹一下什麼是javabean

JavaBean:就是用Java語言定義的類,而這種類的設計需要遵循Sun指定的JavaBeans的標準.

JavaBean的編寫要求:

1.   命名規範必須遵守
2.   JavaBean應該是public類,並且必須具有無參數的public構造方法。
3. 類中的全部屬性必須封裝,訪問權限定義爲private或protected,不能定義爲public,屬性名必須以小寫字母開頭。
4.對每個屬性通常定義兩個public方法,setter方法和getter方法,方法名應該定義爲:getXxx(),setXxx()

二:引入javabean的好處

第一:將HTML和Java程序分離,方便維護。
第二:把常用的程序寫成JavaBean組件,不必重新寫相同的代碼
第三:傳遞參數
  編寫Simple.java

package org.lxh.demo ;
public class Simple{
	private String name ;
	private String password ;
	private int age ;
	public Simple(){
	}
	public void setName(String name){
		this.name = name ;
	}
	public void setPassword(String password){
		this.password = password ;
	}
	public void setAge(int age){
		this.age = age ;
	}
     publicString getName(){
      return this.name ;
       }
     public String getPassword(){
     return this.password; 
      }
     public int getAge(){
     return this.age ;
      }
        };

使用JavaBean

在WEB中使用JavaBean有兩種方式:

                     - 通過page指令導入

                     -通過JSP中定義的JavaBean語法訪問

範例1:JBDemo1.jsp直接在JSP中使用page指令導入

<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.lxh.demo.Simple"%>
<%
	Simple simple = new Simple() ;
	simple.setName("張三") ;
	simple.setPassword("helloworld") ;
	simple.setAge(30) ;
%>
<h2>姓名:<%=simple.getName()%></h2>
<h2>密碼:<%=simple.getPassword()%></h2>
<h2>年齡:<%=simple.getAge()%></h2>

範例2:通過JavaBean標籤指令完成

<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="simple" class="org.lxh.demo.Simple" scope="page"/>
<%
	simple.setName("張三") ;
	simple.setPassword("helloworld") ;
	simple.setAge(30) ;
%>
<h2>姓名:<%=simple.getName()%></h2>
<h2>密碼:<%=simple.getPassword()%></h2>
<h2>年齡:<%=simple.getAge()%></h2>

<jsp:useBeanid="simple" class="org.lxh.demo.Simple" scope="page"/>


<jsp:useBean>:表示在JSP中使用JavaBean

Id:凡是在標籤中看到,表示生成的實例化對象,

Class:要引入的類及包。

Scope:此JavaBean的保存範圍。四種範圍:page,request,session,application.

實例化的操作是使用反射機制完成的。(要求必須有無參構造方法

JavaBean每次修改之後都必須重新啓動服務器,因爲重新啓動服務器之後,纔可以將新的類重新加載進來

利用Tomcat中提供的自動加載功能

修改server.xml:

<Context path=“/demo” docBase=“d:\webdemo”reloadable=“true”/>項目開發中使用此配置,項目發佈後,一定要關閉


三 :javaBean的應用

接受參數

        使用表單的方式傳遞參數。通過兩種方式進行比較,觀察JavaBean語法的特點。

第一種方式:範例:JBDemo3.htm

<form action="JBDemo03.jsp" method="post">
	姓名:<input type="text" name="name"><br>
	密碼:<input type="text" name="password"><br>
	年齡:<input type="text" name="age"><br>
	<input type="submit" value="提交">
</form>

原始方式接受JBDemo3.jsp
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="simple" class="org.lxh.demo.Simple" scope="page"/>
<%
	request.setCharacterEncoding("GBK") ;
%>
<%
	simple.setName(request.getParameter("name")) ;
	simple.setPassword(request.getParameter("password")) ;
	simple.setAge(Integer.parseInt(request.getParameter("age"))) ;
%>
<h2>姓名:<%=simple.getName()%></h2>
<h2>密碼:<%=simple.getPassword()%></h2>
<h2>年齡:<%=simple.getAge()%></h2>

原始方式存在的問題:

如果表單中的參數很多要一個個的接受
第二種方式:JavaBean接受
範例:JBDemo4.jsp
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="simple" class="org.lxh.demo.Simple" scope="page"/>
<%
	request.setCharacterEncoding("GBK") ;
%>
<jsp:setProperty name="simple" property=“*" />
<h2>姓名:<%=simple.getName()%></h2>
<h2>密碼:<%=simple.getPassword()%></h2>
<h2>年齡:<%=simple.getAge()%></h2>

設置JavaBean的屬性
JavaBean定義完成之後,就可以直接使用設置屬性的方式,爲bean中的內如賦值,賦值的語句一般有四種:
方法一:通過自省的方式設置內容,最常用的方式。
<jsp:setPropertyname="simple" property=“*" />

   ~name屬性就是找的JavaBean中定義的id

   ~property=“*”,以後的所有變化都在此處,此時表示的是根據參數的名稱自動進行設置


<form action="JBDemo04.jsp" method="post">
	姓名:<input type="text" name="name1"><br>
	密碼:<input type="text" name="password"><br>
	年齡:<input type="text" name="age"><br>
	<input type="submit" value="提交">
</form>

如果在Simple.java中作如下修改

public void setName1(String name){
           System.out.println(“*********”);
		this.name = name ;
	}

方法二:指定一個屬性

<jsp:setProperty name=“simple” property=“一個具體的屬性" />
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="simple" class="org.lxh.demo.Simple" scope="page"/>
<%
	request.setCharacterEncoding("GBK") ;
	String pass = "hello" ;
%>
<jsp:setProperty name="simple" property="name" />
<jsp:setProperty name="simple" property="password" />
<h2>姓名:<jsp:getProperty name="simple" property="name"/></h2>
<h2>密碼:<jsp:getProperty name="simple" property="password"/></h2>
<h2>年齡:<jsp:getProperty name="simple" property="age"/></h2>

方法三:將指定的屬性給指定的屬性

<jsp:setProperty name=“bean的名稱” property=“一個具體的屬性“ param=“參數名稱” />
<jsp:setProperty name="simple" property="name" param="password"/>
<jsp:setProperty name="simple" property="password" param="name"/>

方法四:設置指定的值給屬性

<jsp:setProperty name=“bean的名稱” property=“一個具體的屬性“  value=“具體的內容” />

<%
	request.setCharacterEncoding("GBK") ;
	String pass = "hello" ;
%>
<jsp:setProperty name="simple" property="name" value="password"/>
<jsp:setProperty name="simple" property="password" value="<%=pass%>"/>

取得指定的屬性

<jsp:getProperty name="simple" property="name"/>
<%=simple.getName()%>


發佈了146 篇原創文章 · 獲贊 149 · 訪問量 73萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章