亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁(yè) > 知識(shí)庫(kù) > JSP教程之使用JavaBean完成業(yè)務(wù)邏輯的方法

JSP教程之使用JavaBean完成業(yè)務(wù)邏輯的方法

熱門標(biāo)簽:地圖標(biāo)注線上教程 電銷機(jī)器人好賣么 四川保險(xiǎn)智能外呼系統(tǒng)商家 高德地圖標(biāo)注樣式 杭州ai語(yǔ)音電銷機(jī)器人功能 杭州語(yǔ)音電銷機(jī)器人軟件 北票市地圖標(biāo)注 商洛電銷 電銷機(jī)器人是有一些什么技術(shù)

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

一、目標(biāo):

① 掌握什么是JavaBean;
② 掌握如何編寫(xiě)JavaBean;
③ 掌握如何在JSP中訪問(wèn)JavaBean;
④ 理解JSP中對(duì)象的4個(gè)作用范圍。

二、主要內(nèi)容:

通過(guò)把上一講中l(wèi)ogin_process.jsp中的驗(yàn)證過(guò)程進(jìn)行封裝形成JavaBean,然后在JSP頁(yè)面中調(diào)用這個(gè)JavaBean,介紹JavaBean的編寫(xiě)和訪問(wèn)。
通過(guò)簡(jiǎn)單實(shí)例介紹JavaBean對(duì)象的4個(gè)作用范圍。

1、什么是JavaBean

JavaBean是使用Java語(yǔ)言編寫(xiě)的組件。組件是組成一個(gè)大的系統(tǒng)的一部份,通常不同獨(dú)立運(yùn)行。組件能夠完成特定的功能,并且這些功能主要是共享的。
JavaBean是一種特殊的Java類。特殊在:通常要提供無(wú)參數(shù)的構(gòu)造方法;外界不需要知道它的具體實(shí)現(xiàn),通常屬性是私有的,需要提供公有的對(duì)屬性進(jìn)行操作的方法;應(yīng)該有一些業(yè)務(wù)方法。

2、例:對(duì)用戶信息進(jìn)行驗(yàn)證

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中如何調(diào)用JavaBean

首先,在Java中的調(diào)用情況:

import javabean;
…
  User user = new User(); // 定義對(duì)象,并且實(shí)例化
  user.setUsername("zaaaa"); // 對(duì)成員變量進(jìn)行初始化
  user.setUserpass("sssss");  // 對(duì)用戶口令進(jìn)行初始化
  boolean b = user.check();  // 調(diào)用業(yè)務(wù)方法進(jìn)行驗(yàn)證

1) 創(chuàng)建對(duì)象

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

作用:實(shí)例化JavaBean的對(duì)象,或者查找到JavaBean的對(duì)象。

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

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

編寫(xiě)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>標(biāo)簽用于存儲(chǔ)信息,var指出變量的名字,value指出變量的值(可以使用表達(dá)式),scope指出變量的存儲(chǔ)范圍。

${pageScope.pageAttribute}用于訪問(wèn)page范圍內(nèi)的pageAttribute屬性,${requestScope.requestAttribute}用于訪問(wèn)request范圍內(nèi)的requestScope屬性,依次類推。
 
編寫(xiě)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">訪問(wèn)session/a>

編寫(xiě)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}

編寫(xiě)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}

運(yùn)行過(guò)程:

運(yùn)行page.jsp,得到如下結(jié)果:

request.jsp中輸出信息:rrrr ssss aaaa
page.jsp中輸出信息:pppp rrrr ssss aaaa
分析:因?yàn)閜age.jsp和request.jsp屬于同一次請(qǐng)求,所以共享request對(duì)象,session對(duì)象和application對(duì)象,但是不能顯示page中存儲(chǔ)的信息。

點(diǎn)擊"訪問(wèn)session"進(jìn)行session.jsp

session.jsp中輸出信息:ssss aaaa

分析:與前面不屬于同一次請(qǐng)求,所以不能訪問(wèn)request和page信息,只能訪問(wèn)session和application。

重新打開(kāi)一個(gè)瀏覽器,訪問(wèn)application.jsp
application.jsp中輸出信息:aaaa
分析:屬于不同的客戶端,所以只能共享application對(duì)象,只能看到application中的信息。

2) 對(duì)屬性賦值

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

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

如果value屬性不指定,這時(shí)候會(huì)從請(qǐng)求對(duì)象查找名字為username的表單元素,如果有救賦值。相當(dāng)于下面的代碼:

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

如果省略了value屬性,同時(shí)把property屬性設(shè)置為"*",相當(dāng)于:

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

如果表單元素的名字與JavaBean屬性名字不一致的時(shí)候,可以通過(guò)param屬性指定使用哪個(gè)表單元素。

3) 嵌入Java代碼調(diào)用方法

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

4) 獲取JavaBean屬性

復(fù)制代碼 代碼如下:
jsp:getProperty name="" property=""/>

4、 實(shí)例:修改login_process.jsp

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
!--創(chuàng)建對(duì)象-->
jsp:useBean id="user" class="javabean.User" scope="request"/>
!--對(duì)對(duì)象進(jìn)行初始化-->
jsp:setProperty name="user" property="*"/>
!-- 調(diào)用對(duì)象的方法 -->
%
  boolean b = user.check();
  request.setAttribute("b",new Boolean(b));
  // 在request中保存信息,第一個(gè)參數(shù)是名字,第二個(gè)參數(shù)對(duì)象本身
%>
!-- 根據(jù)結(jié)果進(jìn)行判斷 -->
c:if test="$">
  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"/>

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

運(yùn)行之后效果是相同的。

但是分析上面的代碼,我們發(fā)現(xiàn)里面還是嵌入了Java代碼,這是因?yàn)镴SP并沒(méi)有提供很好的標(biāo)簽對(duì)JavaBean的訪問(wèn)進(jìn)行調(diào)用。如果想使用標(biāo)簽對(duì)業(yè)務(wù)方法調(diào)用,需要編寫(xiě)自定義標(biāo)簽,比較麻煩。下面介紹一個(gè)折中的方法。

5、實(shí)例:重構(gòu)login_process.jsp

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

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

雖然JSP沒(méi)有提供訪問(wèn)業(yè)務(wù)方法的標(biāo)簽,但是提供了對(duì)屬性進(jìn)行訪問(wèn)的方式,所以該方法通過(guò)提供result屬性來(lái)間接的調(diào)用check業(yè)務(wù)方法。

修改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>

希望本文所述對(duì)大家的JSP程序設(shè)計(jì)有所幫助。

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

標(biāo)簽:貴州 紅河 西藏 丹東 宿州 青島 云浮 江西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP教程之使用JavaBean完成業(yè)務(wù)邏輯的方法》,本文關(guān)鍵詞  JSP,教程,之,使用,JavaBean,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP教程之使用JavaBean完成業(yè)務(wù)邏輯的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于JSP教程之使用JavaBean完成業(yè)務(wù)邏輯的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日韩一级黄色片| 天天色成人网| 亚洲天堂在线播放| 国产成人女人在线视频观看| 国产成人女人在线视频观看| 精品国产亚一区二区三区| 成人高清视频在线观看| 久久精品免视看国产成人2021| 精品视频一区二区| 国产韩国精品一区二区三区| 国产a视频精品免费观看| 亚欧成人乱码一区二区 | 99久久精品国产麻豆| 你懂的日韩| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 久草免费在线观看| 国产精品自拍一区| 国产不卡在线观看视频| 国产伦精品一区二区三区在线观看 | 欧美18性精品| 国产伦理精品| 国产一区二区精品尤物| 亚洲精品永久一区| 日本在线播放一区| 亚洲女人国产香蕉久久精品| 黄视频网站在线看| 国产一区二区福利久久| 日本在线播放一区| 成人免费网站久久久| 日本在线播放一区| 二级片在线观看| 午夜在线亚洲| 日韩一级黄色片| 999精品在线| 欧美日本二区| 青青青草视频在线观看| 久久99这里只有精品国产| 日韩在线观看网站| 国产91丝袜在线播放0| 色综合久久天天综线观看| 国产网站免费视频| 999精品在线| 亚洲精品久久久中文字| 91麻豆爱豆果冻天美星空| 精品视频在线看| 国产成人精品综合久久久| 日本特黄特色aaa大片免费| 麻豆系列 在线视频| 免费国产在线观看| 青青青草视频在线观看| 国产伦精品一区二区三区在线观看 | 99久久精品国产麻豆| 欧美日本二区| 黄色短视屏| 日韩专区亚洲综合久久| 国产麻豆精品高清在线播放| 国产韩国精品一区二区三区| 国产网站免费视频| 国产不卡在线观看视频| 九九九网站| 高清一级淫片a级中文字幕| 人人干人人插| 四虎影视精品永久免费网站| 99久久精品国产麻豆| 精品视频在线观看免费| 欧美激情一区二区三区视频 | 国产成人精品综合久久久| 日本特黄特色aaa大片免费| 麻豆系列 在线视频| 成人免费网站久久久| 日韩在线观看免费| 黄色短视屏| 日韩一级黄色片| 日韩在线观看免费| 成人免费网站久久久| 精品在线免费播放| 韩国三级视频网站| 一级女性全黄久久生活片| 久久成人性色生活片| 台湾毛片| 亚洲wwwwww| 国产高清在线精品一区a| 亚洲wwwwww| 国产网站免费视频| 天天做日日爱| 国产不卡精品一区二区三区| 四虎久久精品国产| 亚洲第一色在线| a级毛片免费观看网站| 久久精品大片| 你懂的日韩| 黄视频网站在线看| 一a一级片| 国产一区免费观看| 91麻豆精品国产高清在线| 欧美另类videosbestsex高清| 久草免费在线观看| 国产91精品系列在线观看| 成人免费观看网欧美片| 国产91精品系列在线观看| 欧美激情影院| 国产视频一区二区在线观看| 精品久久久久久中文字幕2017| 99久久精品国产麻豆| 日韩中文字幕在线播放| 亚洲wwwwww| 午夜精品国产自在现线拍| 成人a级高清视频在线观看| 国产极品白嫩美女在线观看看| 欧美a级片视频| 午夜精品国产自在现线拍| 韩国三级视频网站| 欧美a免费| 午夜精品国产自在现线拍| 成人免费网站久久久| 国产韩国精品一区二区三区| 二级片在线观看| 成人在激情在线视频| 九九九网站| 亚洲第一色在线| 色综合久久天天综线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人a级高清视频在线观看| 国产不卡在线观看视频| 国产一区二区福利久久| 四虎影视精品永久免费网站| 精品国产一区二区三区免费| 二级片在线观看| 国产网站免费视频| 高清一级淫片a级中文字幕| 日韩专区亚洲综合久久| 精品国产一区二区三区久| 香蕉视频亚洲一级| 精品视频一区二区| 韩国三级视频网站| 国产一区二区福利久久| 黄色免费三级| 人人干人人插| 欧美激情影院| 国产一区二区精品久久91| 欧美大片一区| 亚洲天堂在线播放| 成人免费高清视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产成人精品综合久久久| 日韩av片免费播放| 成人免费观看网欧美片| 成人a级高清视频在线观看| 欧美国产日韩精品| 国产伦精品一区二区三区在线观看 | 久久国产精品永久免费网站| 午夜精品国产自在现线拍| 欧美激情一区二区三区在线| 国产不卡在线观看视频| 欧美激情一区二区三区视频 | 欧美激情一区二区三区在线| 国产伦理精品| 日日日夜夜操| 国产不卡精品一区二区三区| 成人在激情在线视频| 国产a视频精品免费观看| 亚洲精品永久一区| 欧美激情伊人| a级毛片免费观看网站| 国产极品白嫩美女在线观看看| 高清一级淫片a级中文字幕| 成人免费高清视频| 成人高清视频在线观看| 九九九网站| 精品久久久久久中文字幕2017| 久久国产精品永久免费网站| 成人在激情在线视频| 国产网站免费视频| 成人免费网站久久久| 欧美大片一区| 人人干人人插| 国产一区免费观看| 久久国产影视免费精品| 免费国产在线观看| 久久99这里只有精品国产| 国产不卡精品一区二区三区| 久久成人性色生活片| 成人免费高清视频| 国产精品免费久久| 日韩一级黄色片| 精品在线免费播放| 国产一区免费观看| 日韩一级黄色片| 色综合久久天天综合| 欧美大片一区| 久久国产精品永久免费网站| 999精品在线| 精品国产一区二区三区久| 台湾毛片| 国产极品白嫩美女在线观看看| 成人a级高清视频在线观看| 国产a视频精品免费观看| 午夜激情视频在线播放| 麻豆系列 在线视频| 超级乱淫伦动漫|