国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JSP第三篇【JavaBean的介紹、JSP的行為--JavaBean】

劉德剛 / 642人閱讀

摘要:不存在則實例化一個新的對象并將它以指定的名稱存儲到指定的域范圍中。

什么是javaBean

JavaBean就是一個普通的java類,也稱之為簡單java對象--POJO(Plain Ordinary Java Object),是Java程序設計中一種設計模式,是一種基于 Java 平臺的軟件組件思想

JavaBean遵循著特定的寫法,通常有以下的規則:

有無參的構造函數

成員屬性私有化

封裝的屬性如果需要被外所操作,必須編寫public類型的setter、getter方法

上面的文字看起來好像很高大上,javaBean其實非常簡單,下面的代碼就是按照特定寫法、規則編寫的一個JavaBean對象


    public class Person {
        private String username ;
        private int age;
    
        public Person() {
    
        }
    
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }

為什么需要使用Javabean

使用javaBean的好處就是:封裝,重用,可讀

下面引用知乎一段回答:

JaveBean你可以理解為一輛貨車,在你的java端和web頁面進行數據傳遞的載體,你當然可以每個變量多帶帶傳遞,或者使用集合傳遞,但是javabean可以使你的數據更有可讀性,方便開發時明確變量的意義,也使其他閱讀你代碼的人能直接你的意圖

如果把bean類與數據庫聯合使用,一張表使用bean類,可以使你的代碼更加簡潔高效,易于理解,現在大多數框架都會使用這種機制。

JSP行為--JavaBean

JSP技術提供了三個關于JavaBean組件的動作元素,即JSP行為(標簽),它們分別為:

【在JSP頁面中查找javaBean對象或者實例化javaBean對象】

【設置javaBean的屬性】

【獲取javaBean的屬性】

jsp:useBean

標簽用于在指定的域范圍內查找指定名稱的JavaBean對象

存在則直接返回該JavaBean對象的引用

不存在則實例化一個新的JavaBean對象并將它以指定的名稱存儲到指定的域范圍中

語法:

    

如果JSP不支持這個行為,我們要使用Person類是這樣使用的

    <%--這里需要導入Person類--%>
    <%@ page import="domain.Person" %>

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        
    
    
    
    
    <%
        //new出對象
        Person person = new Person();

        person.setName("zhongfucheng");
        System.out.println(person.getName());
    %>
    
    
    

效果如下

我們使用就顯得非常簡潔,不用導包,不用new出對象

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        
    
    
    
    
    <%
        person.setName("zhongfucheng");
        System.out.println(person.getName());
    %>
    
    

也可以實現同樣的效果:

有人可能會想,憑什么寫一個這樣的代碼就可以創建出一個對象出來

現在我把JavaBean中無參的構造函數改成有參的,我們看看會出現什么情況,出現異常了!

     public Person(int age) {
            this.age = age;
        }

內部原理是這樣子的:

通過上面的代碼我們也知道了為什么要有一個無參的構造函數內部在new 對象的時候是沒有傳遞參數進去的!

jsp:setProperty

語法:

    

在語法上可分為4種模式

自動匹配

指定屬性

指定參數【很少用】

指定內容【很少用】

我們沒有學習到,我們獲取表單的信息,然后導入到javaBean對象中是這樣的一種情況

這是表單的頁面代碼

    
用戶名: 年齡:

這是處理表單提交過來數據的jsp的代碼


    
    <%
        int age = Integer.parseInt(request.getParameter("age"));
        
        person.setAge(age);
    
        System.out.println(person.getAge());
        
    %>

這是可以完成的,但是相對來說,比較麻煩!

我們來使用了來看看:

    

    <%--指定屬性名稱為age--%>
    
    <%
        System.out.println(person.getAge());
    %>

也可以完成,并且代碼更少,功能更強大

代碼更少可以直觀看出來,為什么我說它功能更加強大呢?表單提交過來的數據都是字符串,在我們沒有用前,我們存儲設置int類型或其他非字符串類型的數據是需要強轉的!但是不需要我們強轉,它內部自動幫我們轉換了

我們再來使用一下自動匹配來感受它的強大之處吧

    

    <%--property的值設置為*就代表自動匹配--%>
    
    <%
        System.out.println(person.getAge());
        System.out.println(person.getName());
    %>

我們再來看一下效果:

看到這里,有人可能會覺得好神奇:只要設置property的值就可以將表單傳遞過來的數據封裝到JavaBean對象中了!這究竟是這樣做到的???

細心的朋友會發現,JavaBean的屬性名稱和表單的name屬性設置的名稱是一模一樣的

        private String username ;
        private int age;

        用戶名:
        年齡:

如果我設置不一樣還能不能用?我們試試:表單name屬性的username改成是user

     用戶名:

我們再來看看還能不能把表單的數據完整地封裝JavaBean對象中

我們可以發現:要想能夠把表單帶過來的數據成功封裝到JavaBean對象上,名字要一致!也就是說:JavaBean屬性名要和表單的name的名稱一致

至于原理,它是通過反射來做的,調用了內省的方法!,我們看編譯后的JSP就明白了。

jsp:getProperty

語法:

該jsp行為十分簡單,我們來使用一下就知道了。

    <%--使用輸出--%>
    
    

效果:

原理如下

如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章的同學,可以關注微信公眾號:Java3y

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68467.html

相關文章

  • Java3y文章目錄導航

    摘要:前言由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 前言 由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 由于更新比較頻繁,因此隔一段時間才會更新目錄導航哦~想要獲取最新原創的技術文章歡迎關注我的公眾號:Java3y Java3y文章目錄導航 Java基礎 泛型就這么簡單 注解就這么簡單 Druid數據庫連接池...

    KevinYan 評論0 收藏0
  • JSP面試題都在這里

    摘要:下面是我整理下來的知識點圖上的知識點都可以在我其他的文章內找到相應內容。在中,尤其重要的是對象。 下面是我整理下來的JSP知識點: showImg(https://segmentfault.com/img/remote/1460000013229216?w=4962&h=2653); 圖上的知識點都可以在我其他的文章內找到相應內容。 JSP常見面試題 jsp靜態包含和動態包含的區別 j...

    gaosboy 評論0 收藏0
  • JSP 學習記錄

    摘要:對象具有請求域,即完成客戶端的請求之前,該對象一直有效。提交的數據量最多不超過。安全性較低但效率比方式高。適合提交數據量大,安全性高的用戶信息。除非本次會話的所有頁面都關閉后再重新訪問某個或者,將會創建新的會話。 JSP 簡介 全名為Java Server Pages,其根本是一個簡化的Servlet設計,實現了在Java當中使用HTML標簽。JSP是一種動態網頁技術標準,也是Java...

    BearyChat 評論0 收藏0
  • Web開發模式【Mode I 和Mode II介紹、應用案例】

    摘要:開發模式的介紹在開發模式中,有兩個主要的開發結構,稱為模式一和模式二首先我們來理清一些概念吧主要對數據的操作,增加修改刪除等原子性操作。 開發模式的介紹 在Web開發模式中,有兩個主要的開發結構,稱為模式一(Mode I)和模式二(Mode II). 首先我們來理清一些概念吧: DAO(Data Access Object):主要對數據的操作,增加、修改、刪除等原子性操作。 Web層...

    longmon 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<