Web应用开发: JSP语法编程实践(三) JavaBean编程实践

一、实验内容

1、JavaBean的熟练使用

(1)创建一个猜数字a.jsp页面,提供数字输入控件;

(2)数字猜测完成后提交请求到b.jsp;

(3)在b.jsp中使用一个JavaBean获取并判断输入的数字是否和已随机生成的数字一致,并给出猜测结果。

2、JavaBean的熟练使用

(1)创建一个学生注册页面register.jsp,并提交注册请求到view.jsp;

(2)在view.jsp中使用一个JavaBean获取并显示注册信息。

二、实验代码

实验一:

思路:a.jsp为表单,逻辑判断放在JavaBean中,利用boolean值返回,b.jsp用来获取JavaBean的内容并且显示结果
注意:后期改进可以直接使用生成的随机数来做竞猜结果,这样会更有意思

//a.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>数字竞猜</title>
</head>
<body>

<form name="form" action="b.jsp" method="get">
        <table>
            <tr>
                <td>输入一个数字:</td>
                <td><input type="text" name="num" /></td>
            </tr>
            <tr>
            
                <td colspan="2"><input type="submit" value="竞猜" /></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>
您竞猜的数字:<%=request.getParameter("num") %><br>
<jsp:useBean id="NumBean" class="com.topus.javabean.NumBean" scope="page"/>
<!-- 利用jsp:setProperty设置 -->
<jsp:setProperty property="num" name="NumBean" value="24"/>
<%
    int numin = Integer.parseInt(request.getParameter("num"));//表单传过来的数据(用户猜测的数字)
    /* 利用java代码直接设置 */
    //NumBean.setNum(24);//人为设置的正确答案
    boolean isSame = NumBean.getIfThesame(numin);//两者比较
%>

<!-- 利用jsp:getProperty设置 -->
<h2>正确答案:<jsp:getProperty property="num" name="NumBean"/></h2>
<!-- 利用java代码直接设置 -->
<%-- <h2>正确答案:<%=NumBean.getNum()%></h2> --%>
<h2>你的结果:<%=isSame%></h2>
<br>
</body>
</html>
//NumBean.java
package com.topus.javabean;

/*JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:
这个Java类必须具有一个无参的构造函数
属性必须私有化。
私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。*/

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的熟练使用一

实验二:

思路:同样地,register.jsp用表单实现注册页面,view.jsp用来联系javabean以及显示结果,StudentBean用做数据模型和业务逻辑
注意:request的字符编码格式

//register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生注册页面</title>
</head>
<body>
<%
        // 设置请求编码方式,防止中文乱码问题
        request.setCharacterEncoding("utf-8");
%>

<h2 align="center">学生注册页面</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>学生信息</title>
</head>
<body>

<%
        // 设置请求编码方式,防止中文乱码问题
        request.setCharacterEncoding("utf-8");
%>
<!-- 实例化JavaBean,使用请求参数为对象属性赋值 -->
    <jsp:useBean id="StudentBean" class="com.topus.student.StudentBean" scope="session"/>
    
    <!-- property="*"代表bean的所有属性-->
    <jsp:setProperty property="*" name="StudentBean" />
    
    
    <h2 align="center">用户注册信息确认</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="确认"></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的熟练使用二
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356

推荐阅读更多精彩内容

  • JSP总结(经典) day1 JSP 定义: 1)Java Server Page, Java EE 组件,本...
    java日记阅读 3,449评论 0 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,645评论 18 399
  • 2018-3-22基本功:si、du和气泡音是万金油,声音任何问题都可以解决、唇舌操咬字归音准的保证。仰卧起坐10...
    声爱阅读 249评论 0 0
  • 金鱼的心里有一天多了一个英雄。 他有一双冷漠犀利的眼睛,竖立机灵的耳朵,优雅的胡须,走路无声息,纤长的尾巴随着走动...
    翁倒阅读 244评论 0 7
  • 昨晚,或者应该说是今早,彻底败给了失眠。脑子里一直很清醒,翻开微博看到心理咨询师李雪说过的一段话:世界在黑与白之间...
    福妮姐姐阅读 723评论 0 0