Javabean的使用

实验内容

1、JavaBean的熟练使用

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

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

(3)在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>
<!--  提交到b页面 -->
<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>竞猜结果</title>
</head>
<body>
 <!--此处输出的是a页面提交的数字-->
数字:<%=request.getParameter("num") %><br>   
<jsp:useBean id="NumBean" class="com.test.javabean.NumBean" scope="page"/>
 <!--设置正确数值-->
<jsp:setProperty property="num" name="NumBean" value="10"/>  
 <!--比较-->
<%
    int n = Integer.parseInt(request.getParameter("num"));  
    boolean r = NumBean.compare(n); 
%>
<h2>正确答案:<jsp:getProperty property="num" name="NumBean"/></h2>
<h2>你的结果:<%=r%></h2>
<br>
</body>
</html>

Numbean.jsp

package com.test.javabean;
public class NumBean {
   private int num;

  public void setNum(int num) {    //设置数值
       this.num = num;
   }   
   public int getNum() {    //获取数值
       return num;
   }
   public boolean compare(int n){  //比较是否相同
       if(n == this.getNum()) {
       return true;
       }else {return false;}
   }
}

2、JavaBean的熟练使用

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

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

代码

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="view.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.test.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将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。(以上来自百度百科)
所以说在我看来Javabean其实很好理解,就是相当于你将想要的对象打包成为一个类,然后让它能在网页中使用,实际上就是一个特殊的java类,让你在进行数据传递的时候不用那么繁琐,就如上述实例,传递一个学生的信息除了姓名还有很多其他信息,我们不可能每一次都把所有信息都编写出来,将它们封装成一个Javabean不仅可以打包传递,在别的页面写的时候也不用重新再写,调用的过程非常简单,无论你逻辑如何变化,只要是信息相同就能直接调用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,635评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,543评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,083评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,640评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,640评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,262评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,833评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,736评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,280评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,369评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,503评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,870评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,340评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,460评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,909评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,512评论 2 359