javaBean介绍

javaBean介绍javaBean介绍javaBean概述起初,JavaBean的目的是为了将可以重复使用的代码进行打包,在传统的应用中,JavaBean主要用于实现一些可视化界面,如一个窗体、按钮、文本框等,这

大家好,又见面了,我是你们的朋友全栈君。

 javaBean介绍

 javaBean 概述

起初,JavaBean的目的是为了将可以重复使用的代码进行打包,在传统的应用中,JavaBean主要用于实现一些可视化界面,如一个窗体、按钮、文本框等,这样的JavaBean称之可视化的JavaBean。随着技术的不断发展与项目的需求,目前JavaBean主要用于实现一此业务逻辑或封装一些业务对象,由于这样的JavaBean并没有可视化的界面,所以又称之为非可视化的JavaBean。
可视化的JavaBean一般应用于Swing的程序中,在Java Web开发中并不会采用,而是使用非可视化的JavaBean,实现一此业务逻辑或封装一些业务对象,下面就通过实例来了解一下非可视化的JavaBean。

<span role="heading" aria-level="2">javaBean介绍

 

 

 

JavaBean种类

1.**可视化的JavaBean:**主要实现一些可视化的界面
2.**非可视化的JavaBean:**实现一些业务逻辑或一些业务对象。

 


 

JavaBean的应用

1.获取JavaBean的属性信息

在javaBean对象中,为了防止外部直接对JavaBean属性的调用,通常将JavaBean中的属性设置为私有的(private),但需要为其提供公共的(public)访问方法,也就是getXXX()方法。

说明:使用 jsp:useBean标签可以实例化JavaBean对象,jsp:getProperty标签可以获取JavaBean中的属性信息,这两个标签可以直接操作我们所编写的类,但是它在JSP 页面中并不可以操作所有的Java类。

jsp:useBean标签与jsp:getProperty标签之所以可以操作java类,是因为我们所编写的Java类遵循了JavaBean规范。jsp:useBean标签获取类的事例,其内部是通过实例化类的默认构造方法进行获取,所以,JavaBean需要一个默认的无参的构造方法;jsp:getProperty标签获取JavaBean中的属性,其内部是通过调用指定类型的getXXX方法进行获取,所以,JavaBean规范要求为属性提供公共的(public)类型的访问器。因此,在编写就JavaBean是要遵循制定的JavaBean规范。


 

2.对JavaBean属性赋值

编写JavaBean对象要遵循JavaBean规范,在JavaBean’规范中的访问器的setXXX()方法,用于对JavaBean中的属性赋值,如果对JavaBean对象的属性提供了setXXX()方法,在JSP页面中就可以通过,<jsp:setProperty>对其进行赋值


 

3.在JSP页面中应用JavaBean

将JavaBean对象应用到JSP页面中,JavaBean的生命周期可以自行进行设置,它存在于4种范围之内,分别为:page、request、session、application,默认的情况下,JavaBean作用于page范围之内。


 

4.实例

实现档案管理系统,在其中录入用户信息功能,主要通过在JSP 页面中应用JavaBean进行实现。

(1) 创建名称为Person的类,实现对用户信息的封装。

 1 package dao;
 2 
 3 public class Person { 4 // 姓名 5  private String name; 6 // 年龄 7 private int age; 8 // 性别 9  private String sex; 10 // 住址 11  private String add; 12  public String getName() { 13 return name; 14  } 15 public void setName(String name) { 16 this.name = name; 17  } 18 public int getAge() { 19 return age; 20  } 21 public void setAge(int age) { 22 this.age = age; 23  } 24  public String getSex() { 25 return sex; 26  } 27 public void setSex(String sex) { 28 this.sex = sex; 29  } 30  public String getAdd() { 31 return add; 32  } 33 public void setAdd(String add) { 34 this.add = add; 35  } 36 }

(2)创建程序的主页面index.jsp,在该页面中放置录入用户信息所需要的表单

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html>
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <form action="reg.jsp" method="post">
11         <table align="center" width="400" height="200" border="1">
12             <tr>
13                 <td align="center" colspan="2" height="40">
14                     <b>添加用户信息</b>
15                 </td>
16             </tr>
17             <tr>
18                 <td align="right">姓 名:</td>
19                 <td>
20                     <input type="text" name="name">
21                 </td>
22             </tr>
23             <tr>
24                 <td align="right">年 龄:</td>
25                 <td>
26                     <input type="text" name="age">
27                 </td>
28             </tr>
29             <tr>
30                 <td align="right">性 别:</td>
31                 <td>
32                     <input type="text" name="sex">
33                 </td>
34             </tr>
35             <tr>
36                 <td align="right">住 址:</td>
37                 <td>
38                     <input type="text" name="add">
39                 </td>
40             </tr>
41             <tr>
42                 <td align="center" colspan="2">
43                     <input type="submit" value="添 加">
44                 </td>
45             </tr>
46         </table>
47     </form>
48 </body>
49 </html>

(3)创建名称为reg.jsp的JSP页面,用于对index.jsp页面中的表单的提交请求进行处理。

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html>
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <%request.setCharacterEncoding("UTF-8");%>
11     <jsp:useBean id="person" class="dao.Person" scope="page">
12         <jsp:setProperty name="person" property="*"/>
13     </jsp:useBean>
14     <table align="center" width="400">
15         <tr>
16             <td align="right">姓 名:</td>
17             <td>
18                 <jsp:getProperty property="name" name="person"/>
19             </td>
20         </tr>
21         <tr>
22             <td align="right">年 龄:</td>
23             <td>
24                 <jsp:getProperty property="age" name="person"/>
25             </td>
26         </tr>
27         <tr>
28             <td align="right">性 别:</td>
29             <td>
30                 <jsp:getProperty property="sex" name="person"/>
31             </td>
32         </tr>
33         <tr>
34             <td align="right">住 址:</td>
35             <td>
36                 <jsp:getProperty property="add" name="person"/>
37             </td>
38         </tr>
39     </table>
40 </body>
41 </html>

运行结果:

<span role="heading" aria-level="2">javaBean介绍

 

 <span role="heading" aria-level="2">javaBean介绍

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155782.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 三菱PLC FB块的创建与使用

    三菱PLC FB块的创建与使用三菱PLCFB块的创建与使用在PLC编写程序过程中经常遇到一些重复逻辑控制的梯形图,比如流水线控制,气缸报警等等,这时候可以使用FB块来便捷编程,减少工作量与出错率。本例创建一个简单的单控气缸异常报警的FB块。所需输入有:气缸输出,气缸工作位,气缸原位,复位。所需输出有:工作位异常,原位异常。1,创建FB块:鼠标右击FB管理:选择新建数据:填写数据名并确认:2,编辑局部标签:其中INPUT为输入,OUTPUT为输出。3,编辑F…

    2022年9月3日
    2
  • 射频RC522一些知识「建议收藏」

    射频RC522一些知识「建议收藏」我的测试为RC522的读写模块和S50的射频卡:一.S50的射频卡有如下特点:1. 分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位2. 每个扇区有独立的一组密码及访问控制3. 每张卡有唯一序列号,为32位 二.射频卡的介绍1、M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,(我们也将16个扇区的64个块按绝对地址编号为0~63,

    2022年7月26日
    12
  • random函数的用法

    random函数的用法用法:1、random.random()随机生成(0,1)之间的浮点数2、random.randint(上限,下限)随机生成在范围之内的整数,两个参数分别表示上限和下限3、random.randrange(,,)在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,不包括下限,包括上限使用方式如下:random.r…

    2022年6月12日
    54
  • SQL去重语句_sql中文

    SQL去重语句_sql中文sql语句去重sql语句通过DISTINCT关键字去重,用于返回唯一不同的值。DISTINCT关键字需要搭配SELECT语句使用,语法为SELECTDISTINCT列名称FROM表名称。如果指定了SELECTDISTINCT,那么ORDERBY子句中的项就必须出现在选择列表中,否则会出现错误。扩展资料:distinct这个关键字用来过滤掉多余的重复记录只保留一条,但往往只用它…

    2022年10月1日
    0
  • 用opencv的dnn模块做yolov5目标检测[通俗易懂]

    用opencv的dnn模块做yolov5目标检测[通俗易懂]最近在微信公众号里看到多篇讲解yolov5在openvino部署做目标检测文章,但是没看到过用opencv的dnn模块做yolov5目标检测的。于是,我就想着编写一套用opencv的dnn模块做yolov5目标检测的程序。在编写这套程序时,遇到的bug和解决办法,在这篇文章里讲述一下。在yolov5之前的yolov3和yolov4的官方代码都是基于darknet框架的实现的,因此opencv的dnn模块做目标检测时,读取的是.cfg和.weight文件,那时候编写程序很顺畅,没有遇到bug。但是yolo

    2022年10月13日
    0
  • js正则 手机号_正则表达式 手机号

    js正则 手机号_正则表达式 手机号RegExp对象正则表达式是描述字符模式的对象。正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。//匹配手机号//varres=/^[1][3,4,5,6.7,8,9][0-9]{9}$///letnum=18045216903//console.log(res.test(num))//匹配身份证号码//varres=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)///varn=’5203

    2022年9月14日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号