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>

猜你喜欢

转载自blog.51cto.com/13416247/2131725