Web應(yīng)用開(kāi)發(fā): JSP語(yǔ)法編程實(shí)踐(三) JavaBean編程實(shí)踐

一、實(shí)驗(yàn)內(nèi)容

1、JavaBean的熟練使用

(1)創(chuàng)建一個(gè)猜數(shù)字a.jsp頁(yè)面,提供數(shù)字輸入控件;

(2)數(shù)字猜測(cè)完成后提交請(qǐng)求到b.jsp;

(3)在b.jsp中使用一個(gè)JavaBean獲取并判斷輸入的數(shù)字是否和已隨機(jī)生成的數(shù)字一致,并給出猜測(cè)結(jié)果。

2、JavaBean的熟練使用

(1)創(chuàng)建一個(gè)學(xué)生注冊(cè)頁(yè)面register.jsp,并提交注冊(cè)請(qǐng)求到view.jsp;

(2)在view.jsp中使用一個(gè)JavaBean獲取并顯示注冊(cè)信息。

二、實(shí)驗(yàn)代碼

實(shí)驗(yàn)一:

思路:a.jsp為表單,邏輯判斷放在JavaBean中,利用boolean值返回,b.jsp用來(lái)獲取JavaBean的內(nèi)容并且顯示結(jié)果
注意:后期改進(jìn)可以直接使用生成的隨機(jī)數(shù)來(lái)做競(jìng)猜結(jié)果,這樣會(huì)更有意思

//a.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>數(shù)字競(jìng)猜</title>
</head>
<body>

<form name="form" action="b.jsp" method="get">
        <table>
            <tr>
                <td>輸入一個(gè)數(shù)字:</td>
                <td><input type="text" name="num" /></td>
            </tr>
            <tr>
            
                <td colspan="2"><input type="submit" value="競(jìng)猜" /></td>
            </tr>
        </table>
 </form>
 
</body>
</html>
//b.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
您競(jìng)猜的數(shù)字:<%=request.getParameter("num") %><br>
<jsp:useBean id="NumBean" class="com.topus.javabean.NumBean" scope="page"/>
<!-- 利用jsp:setProperty設(shè)置 -->
<jsp:setProperty property="num" name="NumBean" value="24"/>
<%
    int numin = Integer.parseInt(request.getParameter("num"));//表單傳過(guò)來(lái)的數(shù)據(jù)(用戶猜測(cè)的數(shù)字)
    /* 利用java代碼直接設(shè)置 */
    //NumBean.setNum(24);//人為設(shè)置的正確答案
    boolean isSame = NumBean.getIfThesame(numin);//兩者比較
%>

<!-- 利用jsp:getProperty設(shè)置 -->
<h2>正確答案:<jsp:getProperty property="num" name="NumBean"/></h2>
<!-- 利用java代碼直接設(shè)置 -->
<%-- <h2>正確答案:<%=NumBean.getNum()%></h2> --%>
<h2>你的結(jié)果:<%=isSame%></h2>
<br>
</body>
</html>
//NumBean.java
package com.topus.javabean;

/*JavaBean是一個(gè)遵循特定寫(xiě)法的Java類(lèi),它通常具有如下特點(diǎn):
這個(gè)Java類(lèi)必須具有一個(gè)無(wú)參的構(gòu)造函數(shù)
屬性必須私有化。
私有化的屬性必須通過(guò)public類(lèi)型的方法暴露給其它程序,并且方法的命名也必須遵守一定的命名規(guī)范。*/

public class NumBean {
    private int num;
    private boolean thesame;
    
    
    public void setNum(int num) {
        this.num = num;
    }
    
    public int getNum() {
        return num;
    }
    
    public boolean isThesame() {
         return thesame;
    }
         
    public void setMarried(boolean thesame) {
          this.thesame = thesame;
    }
    
    public boolean getIfThesame(int numin){
        if(numin == this.getNum()) {
        return true;
        }else {return false;}
        
    }
    
}

JavaBean的熟練使用一
JavaBean的熟練使用一
JavaBean的熟練使用一
JavaBean的熟練使用一

實(shí)驗(yàn)二:

思路:同樣地,register.jsp用表單實(shí)現(xiàn)注冊(cè)頁(yè)面,view.jsp用來(lái)聯(lián)系javabean以及顯示結(jié)果,StudentBean用做數(shù)據(jù)模型和業(yè)務(wù)邏輯
注意:request的字符編碼格式

//register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>學(xué)生注冊(cè)頁(yè)面</title>
</head>
<body>
<%
        // 設(shè)置請(qǐng)求編碼方式,防止中文亂碼問(wèn)題
        request.setCharacterEncoding("utf-8");
%>

<h2 align="center">學(xué)生注冊(cè)頁(yè)面</h2>
    <form action="view.jsp" method="post">
        <table border="1" width="50%" align="center">
            <tr>
                <td>姓名:</td>
                <td><input type="text" name="username"></td>
            </tr>
            <tr>
                <td>密碼:</td>
                <td><input type="password" name="password"></td>
            </tr>
            
            <tr>
                <td>性別:</td>
                <td><input type="radio" name="sex" checked="checked" value="男">男
                    <input type="radio" name="sex" value="女">女</td>
            </tr>
            <tr>
                <td>年齡:</td>
                <td><input type="text" name="age"></td>
            </tr>
            <tr>
                <td>郵箱:</td>
                <td><input type="text" name="email"></td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit" value="提交"></td>
            </tr>
        </table>
    </form>

</body>
</html>
//view.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>學(xué)生信息</title>
</head>
<body>

<%
        // 設(shè)置請(qǐng)求編碼方式,防止中文亂碼問(wèn)題
        request.setCharacterEncoding("utf-8");
%>
<!-- 實(shí)例化JavaBean,使用請(qǐng)求參數(shù)為對(duì)象屬性賦值 -->
    <jsp:useBean id="StudentBean" class="com.topus.student.StudentBean" scope="session"/>
    
    <!-- property="*"代表bean的所有屬性-->
    <jsp:setProperty property="*" name="StudentBean" />
    
    
    <h2 align="center">用戶注冊(cè)信息確認(rèn)</h2>
    <form action="c.jsp" method="post">
        <table border="1" width="50%" align="center">
            <tr>
                <td>姓名:</td>
                <td><jsp:getProperty property="username" name="StudentBean" /></td>
            </tr>
            <tr>
                <td>密 碼:</td>
                <td><jsp:getProperty property="password" name="StudentBean" /></td>
            </tr>
            <tr>
                <td>性別:</td>
                <td><jsp:getProperty property="sex" name="StudentBean" /></td>
            </tr>
            <tr>
                <td>年齡:</td>
                <td><jsp:getProperty property="age" name="StudentBean" /></td>
            </tr>
            <tr>
            <tr>
                <td>郵箱:</td>
                <td><jsp:getProperty property="email" name="StudentBean" /></td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit"
                    value="確認(rèn)"></td>
            </tr>
        </table>
    </form>

</body>
</html>
//StudentBean.java
package com.topus.student;


public class StudentBean {
    private String username;

    private String password;
    
    private String email;

    private char sex;

    private int age;
    
    
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

}

JavaBean的熟練使用二
JavaBean的熟練使用二
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JSP總結(jié)(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件,本...
    91數(shù)據(jù)閱讀 3,635評(píng)論 0 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,637評(píng)論 18 399
  • 2018-3-22基本功:si、du和氣泡音是萬(wàn)金油,聲音任何問(wèn)題都可以解決、唇舌操咬字歸音準(zhǔn)的保證。仰臥起坐10...
    聲愛(ài)閱讀 293評(píng)論 0 0
  • 金魚(yú)的心里有一天多了一個(gè)英雄。 他有一雙冷漠犀利的眼睛,豎立機(jī)靈的耳朵,優(yōu)雅的胡須,走路無(wú)聲息,纖長(zhǎng)的尾巴隨著走動(dòng)...
    翁倒閱讀 306評(píng)論 0 7
  • 昨晚,或者應(yīng)該說(shuō)是今早,徹底敗給了失眠。腦子里一直很清醒,翻開(kāi)微博看到心理咨詢師李雪說(shuō)過(guò)的一段話:世界在黑與白之間...
    福妮姐姐閱讀 792評(píng)論 0 0

友情鏈接更多精彩內(nèi)容