婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JSP教程之使用JavaBean完成業務邏輯的方法

JSP教程之使用JavaBean完成業務邏輯的方法

熱門標簽:地圖標注線上教程 電銷機器人好賣么 四川保險智能外呼系統商家 高德地圖標注樣式 杭州ai語音電銷機器人功能 杭州語音電銷機器人軟件 北票市地圖標注 商洛電銷 電銷機器人是有一些什么技術

本文實例講述了JSP教程之使用JavaBean完成業務邏輯的方法。分享給大家供大家參考。具體如下:

一、目標:

① 掌握什么是JavaBean;
② 掌握如何編寫JavaBean;
③ 掌握如何在JSP中訪問JavaBean;
④ 理解JSP中對象的4個作用范圍。

二、主要內容:

通過把上一講中login_process.jsp中的驗證過程進行封裝形成JavaBean,然后在JSP頁面中調用這個JavaBean,介紹JavaBean的編寫和訪問。
通過簡單實例介紹JavaBean對象的4個作用范圍。

1、什么是JavaBean

JavaBean是使用Java語言編寫的組件。組件是組成一個大的系統的一部份,通常不同獨立運行。組件能夠完成特定的功能,并且這些功能主要是共享的。
JavaBean是一種特殊的Java類。特殊在:通常要提供無參數的構造方法;外界不需要知道它的具體實現,通常屬性是私有的,需要提供公有的對屬性進行操作的方法;應該有一些業務方法。

2、例:對用戶信息進行驗證

package javabean;
public class User
{
  private String username;
  private String userpass;
  public String getUsername()
  {
   return username;
  }
  public void setUsername(String username)
  {
   this.username = username;
  }
  public String getUserpass()
  {
   return userpass;
  }
  public void setUserpass(String userpass)
  {
   this.userpass = userpass;
  }
  public boolean check()
  {
   if(username==null || userpass==null)
     return false;
   if(username.equals("zhangsan")  userpass.equals("lisi"))
   {
     return true;
   }else{
     return false;
   }
  }
}

3、在JSP中如何調用JavaBean

首先,在Java中的調用情況:

import javabean;
…
  User user = new User(); // 定義對象,并且實例化
  user.setUsername("zaaaa"); // 對成員變量進行初始化
  user.setUserpass("sssss");  // 對用戶口令進行初始化
  boolean b = user.check();  // 調用業務方法進行驗證

1) 創建對象

復制代碼 代碼如下:
jsp:useBean id="" class="" scope=""/>

作用:實例化JavaBean的對象,或者查找到JavaBean的對象。

id屬性表示創建的對象的名字,class是JavaBean的完整類名,scope屬性指出創建的變量的作用范圍。
scope的作用范圍有4個:page request session application
page表示當前頁面,實際上是當前的JSP文件對應的Java類的對象;
request表示一次請求,從我們發送出去請求開始到系統對我們進行響應,這之間就是一次請求。如果一次請求只涉及一個JSP頁面,page和request的效果是相同的。
例如:登錄功能,顯示第一個頁面的時候,這時候page和request的作用范圍是相同的。提交之后,如果登錄成功,這時候涉及兩個文件login_process.jsp和success.jsp,每個文件對應一個page,但是兩個文件屬于一個request。
session,表示會話。對于Web應用的每個客戶端來說都對應一個對象,這個對象就是session,如果JavaBean對象的作用范圍設置為session,相當于把JavaBean對象保存在了session對象中,在客戶端的整個訪問過程中都可以訪問這個對象。
application,表示應用。如果把JavaBean對象的作用范圍設置為application,這個應用的所有的用戶在所有的界面都可以訪問這個對象。

例:jsp:useBean id="user" class="javabean.User" scope="request"/>
測試(關于4個作用范圍):

編寫page.jsp文件如下:

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
c:set var="pageAttribute" value="pppp" scope="page"/>
c:set var="requestAttribute" value="rrrrr" scope="request"/>
c:set var="sessionAttribute" value="ssss" scope="session"/>
c:set var="applicationAttribute" value="aaaa" scope="application"/>
jsp:include page="success.jsp"/>

page.jsp中輸出信息:

${pageScope.pageAttribute}
${requestScope.requestAttribute}
${sessionScope.sessionAttribute}
${applicationScope.applicationAttribute}

其中:c:set>標簽用于存儲信息,var指出變量的名字,value指出變量的值(可以使用表達式),scope指出變量的存儲范圍。

${pageScope.pageAttribute}用于訪問page范圍內的pageAttribute屬性,${requestScope.requestAttribute}用于訪問request范圍內的requestScope屬性,依次類推。
 
編寫request.jsp文件如下:

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

request.jsp中輸出信息:

${pageScope.pageAttribute}
${requestScope.requestAttribute}
${sessionScope.sessionAttribute}
${applicationScope.applicationAttribute}
br>
a href="session.jsp">訪問session/a>

編寫session.jsp文件如下:

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

session.jsp中輸出信息:

${pageScope.pageAttribute}
${requestScope.requestAttribute}
${sessionScope.sessionAttribute}
${applicationScope.applicationAttribute}

編寫application.jsp文件如下:

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

application.jsp中輸出信息:

${pageScope.pageAttribute}
${requestScope.requestAttribute}
${sessionScope.sessionAttribute}
${applicationScope.applicationAttribute}

運行過程:

運行page.jsp,得到如下結果:

request.jsp中輸出信息:rrrr ssss aaaa
page.jsp中輸出信息:pppp rrrr ssss aaaa
分析:因為page.jsp和request.jsp屬于同一次請求,所以共享request對象,session對象和application對象,但是不能顯示page中存儲的信息。

點擊"訪問session"進行session.jsp

session.jsp中輸出信息:ssss aaaa

分析:與前面不屬于同一次請求,所以不能訪問request和page信息,只能訪問session和application。

重新打開一個瀏覽器,訪問application.jsp
application.jsp中輸出信息:aaaa
分析:屬于不同的客戶端,所以只能共享application對象,只能看到application中的信息。

2) 對屬性賦值

jsp:setProperty name="" property="" value=""/>
name指出JavaBean對象的名字,property指出屬性的名字,value要賦的值。

例:jsp:setProperty name="user" property="username" value="zhangsan"/>

如果value屬性不指定,這時候會從請求對象查找名字為username的表單元素,如果有救賦值。相當于下面的代碼:

String username = request.getParameter("username");
user.setUsername(username);

如果省略了value屬性,同時把property屬性設置為"*",相當于:

String username = request.getParameter("username");
user.setUsername(username);
String userpass = request.getParameter("usernpass");
user.setUsernpass (userpass);

如果表單元素的名字與JavaBean屬性名字不一致的時候,可以通過param屬性指定使用哪個表單元素。

3) 嵌入Java代碼調用方法

%
  boolean b = user.check();
%>

4) 獲取JavaBean屬性

復制代碼 代碼如下:
jsp:getProperty name="" property=""/>

4、 實例:修改login_process.jsp

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
!--創建對象-->
jsp:useBean id="user" class="javabean.User" scope="request"/>
!--對對象進行初始化-->
jsp:setProperty name="user" property="*"/>
!-- 調用對象的方法 -->
%
  boolean b = user.check();
  request.setAttribute("b",new Boolean(b));
  // 在request中保存信息,第一個參數是名字,第二個參數對象本身
%>
!-- 根據結果進行判斷 -->
c:if test="${b}">
  jsp:include page="success.jsp"/>
/c:if>
c:if test="${!b}">
  jsp:include page="failure.jsp"/>
/c:if>
br>用戶信息:
jsp:getProperty name="user" property="username"/>
jsp:getProperty name="user" property="userpass"/>

運行:編譯之前編寫好的Java文件User.java。然后把編譯好的文件放在工程的WEB-INF目錄的classes子目錄中。

運行之后效果是相同的。

但是分析上面的代碼,我們發現里面還是嵌入了Java代碼,這是因為JSP并沒有提供很好的標簽對JavaBean的訪問進行調用。如果想使用標簽對業務方法調用,需要編寫自定義標簽,比較麻煩。下面介紹一個折中的方法。

5、實例:重構login_process.jsp

在User.java中添加如下方法:

public boolean getResult()
{
   return check();
}

雖然JSP沒有提供訪問業務方法的標簽,但是提供了對屬性進行訪問的方式,所以該方法通過提供result屬性來間接的調用check業務方法。

修改login_process.jsp文件如下:

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
jsp:useBean id="user" class="javabean.User" scope="request"/>
jsp:setProperty name="user" property="*"/>
c:if test="${user.result}">
  jsp:include page="success.jsp"/>
/c:if>
c:if test="${!user.result}">
  jsp:include page="failure.jsp"/>
/c:if>

希望本文所述對大家的JSP程序設計有所幫助。

您可能感興趣的文章:
  • 如何在java 8 stream表達式實現if/else邏輯
  • Java如何使用Optional與Stream取代if判空邏輯(JDK8以上)
  • java代碼執行字符串中的邏輯運算方法
  • Java 邏輯運算符中&&與&,||與|的區別
  • Java位運算和邏輯運算的區別實例
  • Java程序的邏輯控制和方法詳解

標簽:貴州 紅河 西藏 丹東 宿州 青島 云浮 江西

巨人網絡通訊聲明:本文標題《JSP教程之使用JavaBean完成業務邏輯的方法》,本文關鍵詞  JSP,教程,之,使用,JavaBean,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP教程之使用JavaBean完成業務邏輯的方法》相關的同類信息!
  • 本頁收集關于JSP教程之使用JavaBean完成業務邏輯的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    毛片基地黄久久久久久天堂| 国产又黄又大久久| 一本高清dvd不卡在线观看| 亚洲欧美一区二区不卡| 日韩欧美在线综合网| 成人激情av网| 日韩激情视频网站| 国产成人亚洲精品青草天美| 中文字幕在线一区| 3d动漫精品啪啪一区二区竹菊| 国产精品99久久久久| 久久综合久久99| 在线免费观看日韩欧美| 成人激情视频网站| 久久99精品久久久久久动态图| 夜夜嗨av一区二区三区网页| 国产精品日产欧美久久久久| 久久精品综合网| 蜜桃视频一区二区三区在线观看 | 在线观看视频欧美| 国产宾馆实践打屁股91| 日韩av不卡一区二区| 一区精品在线播放| 国产精品福利一区| 精品国产成人系列| 欧美浪妇xxxx高跟鞋交| 欧美日韩国产美| 欧美一区二区三区日韩视频| 国产精品69久久久久水密桃| 亚洲一区二区视频在线观看| 亚洲精品成人在线| 欧美日韩国产三级| 免费精品视频在线| 国产偷国产偷亚洲高清人白洁| 久久免费电影网| 亚洲欧美在线另类| 亚洲日本在线观看| 亚洲图片一区二区| 青青青爽久久午夜综合久久午夜| 日日夜夜精品免费视频| 日韩成人dvd| 亚洲婷婷综合久久一本伊一区| 中文字幕在线不卡国产视频| 国产精品女主播在线观看| 国产精品乱人伦| 亚洲最大成人网4388xx| 亚洲成av人片在www色猫咪| 秋霞成人午夜伦在线观看| 国模冰冰炮一区二区| 不卡一二三区首页| 欧美三级一区二区| 精品少妇一区二区三区日产乱码 | 日本成人在线不卡视频| 蜜桃一区二区三区四区| 麻豆视频一区二区| 国产精品1区2区3区在线观看| 成人毛片老司机大片| 日本大香伊一区二区三区| 制服丝袜一区二区三区| 精品国产免费人成电影在线观看四季 | 不卡的av网站| 一区二区三区不卡在线观看| 日韩av网站免费在线| 色噜噜夜夜夜综合网| 亚洲柠檬福利资源导航| 男女男精品视频| 成人a区在线观看| 日韩一区二区在线看片| 亚洲色图色小说| 久久国产精品色婷婷| 91丨九色porny丨蝌蚪| 日韩欧美在线1卡| 综合久久综合久久| 久久91精品国产91久久小草| 91福利国产精品| 国产欧美综合在线| 久久草av在线| 欧美性色综合网| 99精品偷自拍| 精品电影一区二区| 亚洲激情六月丁香| 亚洲美女在线国产| 国产精品麻豆视频| 麻豆91在线看| 欧美日韩激情一区二区三区| 欧美精品一区二区精品网| 国产精品三级视频| 精油按摩中文字幕久久| 欧美日韩国产乱码电影| 亚洲六月丁香色婷婷综合久久 | 国产亚洲精品中文字幕| 一个色妞综合视频在线观看| 久久精品国产网站| 欧美片在线播放| 亚洲精品乱码久久久久久久久 | 91精品国产乱| 亚洲综合在线视频| 成人黄动漫网站免费app| 欧美一二三在线| 欧美色图第一页| 国产精品久久久久aaaa| 美国十次综合导航| 国产片一区二区三区| 国产精品亚洲成人| 国产精品一区二区在线看| 色婷婷综合久色| 777久久久精品| 午夜精品影院在线观看| 99久久99久久精品免费看蜜桃| 日韩欧美不卡在线观看视频| 五月综合激情日本mⅴ| 北条麻妃国产九九精品视频| 精品一区二区国语对白| 爽爽淫人综合网网站| 欧美色区777第一页| 亚洲成人免费在线观看| 欧美理论电影在线| 日本三级韩国三级欧美三级| 色综合夜色一区| 亚洲已满18点击进入久久| 91同城在线观看| 亚洲黄色免费网站| 成人av动漫在线| 波多野结衣在线一区| 欧美久久久久免费| 又紧又大又爽精品一区二区| 欧美视频在线不卡| 亚洲黄色尤物视频| 色欧美88888久久久久久影院| 日韩伦理电影网| 麻豆91免费观看| 中文字幕av一区 二区| 成人做爰69片免费看网站| 日韩精品中文字幕在线不卡尤物| 国产另类ts人妖一区二区| 中文字幕第一区第二区| 精品一区二区三区在线播放视频 | 99精品欧美一区二区三区综合在线| 一区在线播放视频| 欧美乱妇15p| 性做久久久久久久免费看| 91精品国产91久久综合桃花| 综合久久综合久久| 欧美日韩视频在线第一区 | 蜜桃视频第一区免费观看| 亚洲精品视频在线看| 国产在线国偷精品产拍免费yy| 在线观看91av| 国产精品国产成人国产三级| 国产成人99久久亚洲综合精品| 日韩亚洲欧美在线| 蜜臀av一区二区在线免费观看| 精品一区二区免费| 韩国成人精品a∨在线观看| 日韩精品一区二区三区蜜臀| 久久久久久一二三区| 韩国成人在线视频| 亚洲一区二区高清| wwwwxxxxx欧美| 美女一区二区三区| 亚洲愉拍自拍另类高清精品| 2019国产精品| 久久99精品久久只有精品| 亚洲欧美日韩人成在线播放| 亚洲福利国产精品| 国产嫩草影院久久久久| 又紧又大又爽精品一区二区| 国产视频一区在线播放| 国产91精品精华液一区二区三区 | 26uuu精品一区二区在线观看| 久久99国产精品免费| 亚洲欧美在线观看| 欧美一区二区视频观看视频 | 卡一卡二国产精品 | 五月天亚洲婷婷| 国产日韩欧美不卡在线| 国产成人av电影| 日韩一区精品字幕| 一区二区三区美女视频| 欧美午夜寂寞影院| 激情综合色综合久久| 欧美亚洲国产bt| 99久久免费精品高清特色大片| 亚洲国产精品久久人人爱| 久久久久久久久久久久久久久99| 色综合激情五月| 美女看a上一区| 欧美亚日韩国产aⅴ精品中极品| 久久99精品久久久| 精品一区二区三区久久久| 亚洲午夜免费电影| 亚洲成人激情自拍| 一区二区中文视频| 97精品国产97久久久久久久久久久久| 亚洲国产综合91精品麻豆 | 青娱乐精品在线视频| 久久99国产精品尤物| 韩国精品在线观看| 久久99精品国产| 国产福利一区二区三区在线视频|