最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過實(shí)例了解JavaBean開發(fā)及使用過程解析

 更新時(shí)間:2020年08月10日 08:40:52   作者:旅途  
這篇文章主要介紹了通過實(shí)例了解JavaBean開發(fā)及使用過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、JavaBean簡(jiǎn)介

JavaBean是使用Java語言開發(fā)的一個(gè)可重用的組件,在JSP的開發(fā)中可以使用JavaBean減少重復(fù)代碼,使整個(gè)JSP代碼的開發(fā)更簡(jiǎn)潔。JSP搭配JavaBean來使用,有以下的優(yōu)點(diǎn):

1.可將HTML和Java代碼分離,這主要是為了日后維護(hù)的方便。如果把所有的程序代碼(HTML和Java)寫到JSP頁面中,會(huì)使整個(gè)程序代碼又多又復(fù)雜,造成日后維護(hù)上的困難。

2.可利用JavaBean的優(yōu)點(diǎn)。將日常用到的程序?qū)懗蒍avaBean組件,當(dāng)在JSP要使用時(shí),只要調(diào)用JavaBean組件來執(zhí)行用戶所要的功能,不用再重復(fù)寫相同的程序,這樣以來也可以節(jié)省開發(fā)所需的時(shí)間。

二、JavaBean開發(fā)要求

1.JavaBean本身就是一個(gè)類,屬于Java的面向?qū)ο缶幊獭?/p>

2.在JSP中如果要應(yīng)用JSP提供的Javabean的標(biāo)簽來操作簡(jiǎn)單類的話,則此類必須滿足如下的開發(fā)要求:

(1)所有的類必須放在一個(gè)包中,在WEB中沒有包的是不存在的;

(2)所有的類必須聲明為public class,這樣才能夠被外部所訪問;

(3)類中所有的屬性都必須封裝,即:使用private聲明;

(4)封裝的屬性如果需要被外部所操作,則必須編寫對(duì)應(yīng)的setter、getter方法;

(5)一個(gè)JavaBean中至少存在一個(gè)無參構(gòu)造方法,此為JSP中的標(biāo)簽所使用。

第一個(gè)簡(jiǎn)單JavaBean

package blog.csdn.joywy; 
public class SimpleBean{ 
  private String name; 
  private int age; 
  public void setName(String name){ 
    this.name = name; 
  } 
  public void setAge(int age){ 
    this.age = age; 
  } 
  public String getName(){ 
    return this.name; 
  } 
  public int getAge(){ 
    return this.age; 
  } 
} 

如果在一個(gè)類中只包含屬性、setter、getter方法,那么這種類就成為簡(jiǎn)單JavaBean。

對(duì)于簡(jiǎn)單的JavaBean也有幾個(gè)名詞:

(1)VO:與簡(jiǎn)單Java對(duì)象對(duì)應(yīng),專門用于傳遞值的操作上

(2)POJO:簡(jiǎn)單Java對(duì)象

(3)TO:傳輸對(duì)象,進(jìn)行遠(yuǎn)程傳輸時(shí),對(duì)象所在的類必須實(shí)現(xiàn)java.io.Serializable接口。

三、WEB開發(fā)的標(biāo)準(zhǔn)目錄結(jié)構(gòu)

Web項(xiàng)目中各個(gè)目錄的作用:

No.

目錄或文件名稱

作用

1

WEB ROOT

Web的根目錄,一般虛擬目錄直接指向此文件夾,此文件夾下必然直接包含WEB-INF

2

WEB-INF

Web目錄中最安全的文件夾,保存各種類、第三方j(luò)ar包、配置文件

3

Web.xml

Web的部署描述符

4

classes

保存所有的JavaBean,如果不存在,可以手工創(chuàng)建

5

lib

保存所有的第三方j(luò)ar文件

6

tags

保存所有的標(biāo)簽文件

7

jsp

存放*.jsp文件,一般根據(jù)功能再建立子文件夾

8

js

存放所有需要的*.js文件

9

css

樣式表文件的保存路徑

10

images

存放所有的圖片,如*.gif或*.jpg文件

注:

1.打包編譯:編譯時(shí)直接使用javac -d . SimpleBean.java命令根據(jù)package的定義打包編譯。

2.Tomcat中classpath的配置:

所有的class要進(jìn)行訪問時(shí)都必須在classpath中進(jìn)行配置,在Tomcat中依然可以使用,在Web開發(fā)中,Tomcat安裝目錄的lib文件夾、WEB-INF\classes和WEB-INF\lib文件夾實(shí)際上都表示了classpath,所以直接將類或jar包復(fù)制到這些文件夾中就可以直接使用了。

<%@ page contentType="text/html" pageEncoding="GBK"%> 
<%@ page import="blog.csdn.joywy.*"%>  <!-- 導(dǎo)入blog.csdn.joywy包 --> 
<html> 
<head><title>歡迎來到望星空</title></head> 
<body> 
<% 
  SimpleBean simple = new SimpleBean();  //聲明并實(shí)例化SimpleBean對(duì)象 
  simple.setName("Joywy");         //設(shè)置name屬性 
  simple.setAge(23);            //設(shè)置age屬性 
%> 
<h3>姓名:<%=simple.getName()%></h3>      <!-- 輸出name屬性的內(nèi)容 --> 
<h3>年齡:<%=simple.getAge()%></h3>       <!-- 輸出age屬性的內(nèi)容 --> 
</body> 
</html> 

四、使用<jsp:useBean>指令

除了使用import的語句之外,也可以使用JSP中提供的:<jsp:useBean>指令完成操作,指令的操作語法如下所示:

1.<jsp:useBean id="實(shí)例化對(duì)象名稱" scope=“保存范圍” class=“包.類名稱“/>

2.主要屬性:

(1)id:表示實(shí)例化對(duì)象的名稱

(2)scope:表示此對(duì)象保存的范圍,一共有四種屬性范圍:page、request、session、application

(3)class:對(duì)象所對(duì)應(yīng)的包.類名稱
樣例:

<%@ page contentType="text/html" pageEncoding="GBK"%> 
<jsp:useBean id="simple" scope="page" class="blog.csdn.joywy.SimpleBean"/> 
<html> 
<head><title>歡迎來到望星空</title></head> 
<body> 
<% 
  simple.setName("Joywy"); 
  simple.setAge(23); 
%> 
<h3>姓名:<%=simple.getName()%></h3> 
<h3>年齡:<%=simple.getAge()%></h3> 
</body> 
</html> 

在使用<jsp:useBean/>指令時(shí),實(shí)際上會(huì)默認(rèn)調(diào)用SimpleBean類中的無參構(gòu)造方法進(jìn)行對(duì)象實(shí)例化,當(dāng)修改SimpleBean.java文件后,如果要想讓其起作用,則需要重新啟動(dòng)服務(wù)器,我們可以通過在Tomcat中直接配置自動(dòng)加載的操作,這樣即使不重新啟動(dòng)服務(wù)器,JavaBean修改后也可以被立即加載進(jìn)來。重新加載的配置如下:在Tomcat安裝目錄下conf/server.xml文件中進(jìn)行配置

<Context path="/joywy" docBase="D:\myweb" reloadable="true"/>

以后Tomcat會(huì)自動(dòng)進(jìn)行檢測(cè),如果發(fā)現(xiàn)JavaBean修改之后會(huì)自動(dòng)進(jìn)行重新加載。

注意:

1.直接在配置虛擬目錄的位置上增加一個(gè)reloadable屬性即可,但是這種情況只適合于開發(fā),因?yàn)槭褂胷eloadable自動(dòng)加載后,服務(wù)器將始終處于監(jiān)視狀態(tài),一旦發(fā)現(xiàn)類修改后就要立刻重新加載,運(yùn)行性能是比較低的,所以,當(dāng)項(xiàng)目真正發(fā)布運(yùn)行時(shí)一定要將reloadable的內(nèi)容設(shè)置成false,以提升入屋企運(yùn)行性能。

2.還要記住,當(dāng)Tomcat重新加載了新的內(nèi)容后,所有的操作都將初始化,所有設(shè)置過的session屬性都將消失。

五、<jsp:useBean>指令內(nèi)部實(shí)現(xiàn)原理

依靠的是反射機(jī)制完成的,在使用<jsp:useBean>指令時(shí)需要定義對(duì)象所在的“包.類“名稱,而且又要求類中存在無參構(gòu)造方法,這就是反射操作的前提條件,所以<jsp:useBean>的語法實(shí)際上屬于反射機(jī)制的操作實(shí)現(xiàn)。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ShardingSphere jdbc集成多數(shù)據(jù)源的實(shí)現(xiàn)步驟

    ShardingSphere jdbc集成多數(shù)據(jù)源的實(shí)現(xiàn)步驟

    本文主要介紹了ShardingSphere jdbc集成多數(shù)據(jù)源的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Java中死鎖產(chǎn)生的原因有哪些?

    Java中死鎖產(chǎn)生的原因有哪些?

    這篇文章主要介紹了Java中死鎖產(chǎn)生的原因有哪些?死鎖即Dead?Lock指的是兩個(gè)或兩個(gè)以上的運(yùn)算單元,下文關(guān)于其產(chǎn)生的原因,需要的小伙伴可以參考一下
    2022-05-05
  • java9新特性Reactive?Stream響應(yīng)式編程?API

    java9新特性Reactive?Stream響應(yīng)式編程?API

    這篇文章主要為大家介紹了java9新特性響應(yīng)式編程API的特點(diǎn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • 2020macOS Big Sur配置Java開發(fā)環(huán)境之jdk安裝過程

    2020macOS Big Sur配置Java開發(fā)環(huán)境之jdk安裝過程

    這篇文章主要介紹了2020macOS Big Sur配置Java開發(fā)環(huán)境之jdk安裝,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • SpringBoot+Shiro+LayUI權(quán)限管理系統(tǒng)項(xiàng)目源碼

    SpringBoot+Shiro+LayUI權(quán)限管理系統(tǒng)項(xiàng)目源碼

    本項(xiàng)目旨在打造一個(gè)基于RBAC架構(gòu)模式的通用的、并不復(fù)雜但易用的權(quán)限管理系統(tǒng),通過SpringBoot+Shiro+LayUI權(quán)限管理系統(tǒng)項(xiàng)目可以更好的幫助我們掌握springboot知識(shí)點(diǎn),感興趣的朋友一起看看吧
    2021-04-04
  • springboot創(chuàng)建的web項(xiàng)目整合Quartz框架的項(xiàng)目實(shí)踐

    springboot創(chuàng)建的web項(xiàng)目整合Quartz框架的項(xiàng)目實(shí)踐

    本文主要介紹了springboot創(chuàng)建的web項(xiàng)目整合Quartz框架的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • springboot創(chuàng)建多module項(xiàng)目的實(shí)例

    springboot創(chuàng)建多module項(xiàng)目的實(shí)例

    這篇文章主要介紹了springboot創(chuàng)建多module項(xiàng)目的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java用split分割含一個(gè)或多個(gè)空格的字符串案例

    Java用split分割含一個(gè)或多個(gè)空格的字符串案例

    這篇文章主要介紹了Java用split分割含一個(gè)或多個(gè)空格的字符串案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來過來看看吧
    2020-09-09
  • 如何調(diào)試報(bào)表插件

    如何調(diào)試報(bào)表插件

    在項(xiàng)目開發(fā)過程中插件調(diào)試非常的麻煩,需要修改里面的代碼,編譯出class,需要重新打包插件。然后把之前的刪除,重新安裝最新的。調(diào)試過程比較繁瑣,而且不能調(diào)試,十分的不方便,這篇文章主要介紹的是調(diào)試報(bào)表插件的方法,需要的朋友可以參考下
    2015-07-07
  • SpringBoot整合Jasypt實(shí)現(xiàn)配置加密的步驟詳解

    SpringBoot整合Jasypt實(shí)現(xiàn)配置加密的步驟詳解

    Jasypt是一個(gè)Java庫,提供了一種簡(jiǎn)單的加密解密方式,可用于保護(hù)敏感數(shù)據(jù),例如密碼、API密鑰和數(shù)據(jù)庫連接信息等,本文給大家介紹了SpringBoot整合Jasypt實(shí)現(xiàn)配置加密的詳細(xì)步驟,感興趣的同學(xué)可以參考一下
    2023-11-11

最新評(píng)論

大埔区| 新宁县| 沭阳县| 黄冈市| 怀仁县| 宝丰县| 虞城县| 黄龙县| 赤壁市| 鞍山市| 前郭尔| 金寨县| 新巴尔虎左旗| 柳江县| 新余市| 扬中市| 焉耆| 林周县| 化隆| 汉寿县| 黑龙江省| 修武县| 昌吉市| 洪洞县| 中卫市| 郑州市| 河东区| 江北区| 桂平市| 广丰县| 西宁市| 广饶县| 房产| 壶关县| 怀宁县| 九台市| 屏南县| 曲阜市| 玛沁县| 呼和浩特市| 慈溪市|