Java-Web學習筆記(第七章)

一:JavaBean簡介

1,JavaBean
    JavaBean是一種特殊的java類,以封裝和重用爲目的。在類的設計上遵從一定的規範,以供其他組件根據這種規範來調用。
2,分類
    1>用戶界面的JavaBean,例如一些GUI組件
    2>沒有用戶界面,主要負責封裝數據,業務處理的JavaBean。(JSP通常訪問的是這一種JavaBean)
3,javaweb開發的主流設計模式
    JSP+Servlet+JavaBean
4,JavaBean的設計規範
    (1)JavaBean是一個公開的(public)類,以便被外部程序訪問;
    (2)具有一個無參的構造方法(一般爲類中默認的構造方法),以便被外部程序實例化時調用;
    (3)提供setXxx方法和getXxx方法,以便讓外部程序設置和獲取其屬性。

二:JSP中使用JavaBean

1,使用動作元素訪問JavaBean(JSP中沒有一句Java代碼,推薦使用)
2,使用Java腳本訪問

三:JavaBean應用

1,用戶通過一個簡單的註冊頁面(registerStep1.jsp)完成第一步註冊信息的填寫
<body>
    <h2 align="center">用戶註冊第一步</h2>
    <form action="registerStep2.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 colspan="2" align="center"><input type="submit" value="下一步" /></td>
            </tr>
        </table>
    </form>
</body>
2,將註冊信息提交到第二步註冊頁面(registerStep2.jsp)進行第一步信息的初步保存和第二步詳細信息的填寫
<body>
    <%
        //設置請求編碼方式,防止中文亂碼
        request.setCharacterEncoding("UTF-8");
    %>
    <!-- 在JavaBean實例化時,使用請求參數爲對象屬性賦值 -->
    <jsp:useBean id="user" class="book07.UserBean" scope="session">
        <jsp:setProperty property="username" name="user"/>
        <jsp:setProperty property="password" name="user"/>
    </jsp:useBean>
    <h2 align="center">用戶註冊第二步</h2>
    <form action="registerConfirm.jsp" method="post">
        <table border="1" width="50%" align="center">
            <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>
                    <select name="tooltip">
                        <option value="我媽媽的名字">我媽媽的名字</option>
                        <option value="我班主任的名字">我班主任的名字</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td>提示答案:</td>
                <td><input type="text" name="answer"/></td>
            </tr>
            <tr>
                <td>郵箱:</td>
                <td><input type="text" name="email" /></td>
            </tr>
            <tr>
                <td>願意接收信息:</td>
                <td>
                    <input type="checkbox" name="message" value="新聞" />新聞
                    <input type="checkbox" name="message" value="產品廣告" />產品廣告
                    <input type="checkbox" name="message" value="招聘" />招聘
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <input type="submit" value="完成"/>
                </td>
            </tr>
        </table>
    </form>
</body>
3,提交到第三步註冊信息確認頁面(registerConfirm.jsp),在信息確認頁面中先將第二步提交的信息保存到JavaBean對象,隨後進行信息的顯示確認
<body>
    <%
        //設置請求編碼方式,避免中文亂碼
        request.setCharacterEncoding("UTF-8");
    %>
    <!-- 查找JavaBean對象,使用請求參數爲對象屬性賦值 -->
    <jsp:useBean id="user" class="book07.UserBean" scope="session" />
    <jsp:setProperty property="*" name="user"/>

    <h2 align="center">用戶信息確認</h2>
    <form action="registerSuccess.jsp" method="post">
        <table border="1" align="center" width="50%">
            <tr>
                <td>用戶名:</td>
                <td><jsp:getProperty property="username" name="user"/></td>
            </tr>
            <tr>
                <td>密碼:</td>
                <td><jsp:getProperty property="password" name="user"/></td>
            </tr>
            <tr>
                <td>性別:</td>
                <td><jsp:getProperty property="sex" name="user"/></td>
            </tr>
            <tr>
                <td>年齡:</td>
                <td><jsp:getProperty property="age" name="user"/></td>
            </tr>
            <tr>
                <td>提示信息:</td>
                <td><jsp:getProperty property="tooltip" name="user"/></td>
            </tr>
            <tr>
                <td>提示答案:</td>
                <td><jsp:getProperty property="answer" name="user"/></td>
            </tr>
            <tr>
                <td>郵箱:</td>
                <td><jsp:getProperty property="email" name="user"/></td>
            </tr>
            <tr>
                <td>願意接收信息:</td>
                <td><jsp:getProperty property="messageChoose" name="user"/></td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit" value="確認提交" /></td>
            </tr>
        </table>
    </form>
</body>
4,用於封裝用戶註冊信息的JavaBean
public class UserBean {
    private String username;
    private String password;
    private char sex;
    private int age;
    private String tooltip;
    private String answer;
    private String email;
    private String[] message;

    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 getTooltip() {
        return tooltip;
    }
    public void setTooltip(String tooltip) {
        this.tooltip = tooltip;
    }

    public String getAnswer() {
        return answer;
    }
    public void setAnswer(String answer) {
        this.answer = answer;
    }

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

    public String[] getMessage() {
        return message;
    }
    public String getMessageChoose(){
        String messageChoose = "";
        if(message != null){
            for(int i=0; i<message.length; i++){
                messageChoose += message[i];
                if(i != message.length-1){
                    messageChoose += ",";
                }
            }
        }
        return messageChoose;

    }
    public void setMessage(String[] message) {
        this.message = message;
    }
}
5,註冊成功頁面
<body>
    <h3>註冊成功</h3>
</body>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章