JavaBean技术
JavaBean简介
本质上就是Java的类,它时一些封装了数据和操作的功能类,供Servlet调用。
JavaBean的设计
设计JavaBean就是编写Java类,但有如下五种要求
- JavaBean的类是一个公共类
- 具有一个公共的无参构造方法
- 属性定义为私有的
- 每个属性提供两个公共方法(setXxx()和getXxx()若属性类型为boolean,则方法名为isXxx())
- 放在同一个命名的包下
JavaBean的安装部署及使用思路
- 新建JavaBean类:
在Web工程目录->src->新建一个类->选择包名和类名 - 使用思路
JSP中使用JavaBean
在JSP中有两种方法可以使用JavaBean
使用JSP动作标签访问JavaBean
访问JavaBean的动作标签有如下几种。
- < jsp:useBean>:用于声名JavaBean对象,且设置JavaBean类使用的范围。
- < jsp:setProperty>:用于绑定JavaBean对象属性。
- < jsp:getProperty>:用于获取JavaBean对象属性。
声名JavaBean对象
声名格式:
< jsp:useBean id=“对象名” class=“类名” scope=“有效范围”/>
- id:指定创建对象的名称。
- class:指定JavaBean类,连同包名。
- scope:JavaBean使用范围
<!--创建JavaBean对象,范围为page-->
<jsp:useBean id="a" class="beans.Add()" scope="page" />
绑定JavaBean对象属性
自动完成类型转换,将字符串自动转换为JavaBean中声名的类型
声名格式:
- 简单的自定义设置属性
< jsp:setProperty name=“对象名” property=“对象中的属性名” value=“值”/> - 单个属性与参数直接关联
< jsp:setProperty name=“对象名” property=“对象的属性名”/>
自动将property的值提交给JavaBean属性名称同名的属性 - 单个属性与参数间接关联
< jsp:setProperty name=“对象名” property=“对象的属性名” param=“参数名”/>
将指定的参数名的值,赋值给对象的属性 - 所有属性自动关联
< jsp:setProperty name=“对象名” property="*"/>
将提交页面的参数自动赋值JavaBean中同名的属性
获取JavaBean对象属性
由于JavaBean类的所有属性都设置为私有的,所以获取JavaBean类的属性值都是通过该类的getXxx方法获取的。
声名格式:
< jsp:getProperty name=“JavaBean对象名” property=“对象属性” />
<!--通过对象a调用getXxx()方法,获取参数number的值-->
<jsp:getProperty name="a" property="number" />
通过JSP脚本直接访问JavaBean
直接在<% %>中使用Java语言创建对象,通过request.getParameter()方法获取参数值并且赋值。需自己完成类型的转换
示例:
<!--通过脚本使用JavaBean类,赋值该类number,且输出number值 -->
<%
Add a = new Add();
String s = request.getParameter("number");
a.setNumber = Integer.parsetInt(s);
out.println(a.getNumber);
%>
多个JSP页面共享JavaBean
< jsp:useBean>动作标签可以使用scope属性指定bean存储的位置,可以让多个JSP页面共享数据。
- page:当前页面使用
- request:存储在reqeust对象中,可通过getAttribute()方法访问。
- session:存储在session对象中,可通过getAttribute()方法访问。
- application:存储在application对象中,可通过getAttribute()方法访问。
基于JavaBean+JSP的网页计数器
通过将JavaBean对象存储在application中,实现数据的共享,完成计数器业务。
Count.java
counter1.jsp
counter2.jsp
显示效果:
综合案例——数据库访问 JavaBean的设计
创建配置文件,用于读取数据库基本信息
创建链接数据库释放数据库工具类JdbcUtil.java
创建User.java实现记录信息对象化
建立UserDao.java封装基本的数据库操作
@syl 2021/06/11 21:01 周五 32°