JSP技术之JavaBean
在Java程序或JSP程序中,其实有很多的代码段是可以重复使用的,比如对数据库的操作、用户的有效性检查及某些项特定功能的实现等。为了很好的解决这个问题,提高开发效率,Sun公司推出了JavaBean,简言之,JavaBean这是一个实现了某个功能且供重复使用的Java类。 在JSP中使用JavaBean后,可实现HTML与Java代码的分离,使JSP更易于开发和维护。因此JavaBean成了JSP程序员的必备利器之一。另外,javaBean与javaBeans是同一个概念。
JavaBean定义:是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。名称中的“Bean”是用于Java的可重用软件组件的惯用叫法。
JavaBean规范:
(a)有一个公有的无参构造器
(b)属性可以通过get、set、is(可以替代get,用在布尔型属性上)方法或遵循特定命名规范的其他方法访问
(c)可序列化
JavaBean代码:
1 package player; 2 3 public class PersonBean implements java.io.Serializable { 4 5 /** 6 * name 属性(注意大小写) 7 */ 8 private String name = null; 9 10 private boolean deceased = false; 11 12 /** 无参构造器(没有参数) */ 13 public PersonBean() { 14 } 15 16 /** 17 * name 属性的Getter方法 18 */ 19 public String getName() { 20 return name; 21 } 22 23 /** 24 * name 属性的Setter方法 25 * @param value 26 */ 27 public void setName(final String value) { 28 name = value; 29 } 30 31 /** 32 * deceased 属性的Getter方法 33 * 布尔型属性的Getter方法的不同形式(这里使用了is而非get) 34 */ 35 public boolean isDeceased() { 36 return deceased; 37 } 38 39 /** 40 * deceased 属性的Setter方法 41 * @param value 42 */ 43 public void setDeceased(final boolean value) { 44 deceased = value; 45 } 46 }
在Java类中使用JavaBean的代码:
1 import player.PersonBean; 2 3 /** 4 * <code>TestPersonBean</code>类 5 */ 6 public class TestPersonBean { 7 /** 8 * PersonBean 类测试方法的main函数 9 * @param ARGS 10 */ 11 public static void main(String[] args) { 12 PersonBean person = new PersonBean(); 13 14 person.setName("张三"); 15 person.setDeceased(false); 16 17 // 输出: "张三[活着]" 18 System.out.print(person.getName()); 19 System.out.println(person.isDeceased() ? " [已故]" : " [活着]"); 20 } 21 }
在Jsp中使用JavaBean的两种使用方式:
(a) jsp 中嵌入 java 代码方式访问 javabean
<%@ page import="player.PersonBean" %> <% TestPersonBean testBean=new TestPersonBean(); %> <% String name=req.getParameter(“name”);%> <% testBean.setName(name)%> <%=testBean.getName()%>
(b) jsp 中使用 <jsp:useBean> 标记符访问 javabean
<jsp:useBean id="person" class="player.PersonBean" scope="page"/> <jsp:setProperty name="person" property="*"/><html><body>姓名:<jsp:getProperty name="person" property="name"/><br/>已故与否?<jsp:getProperty name="person" property="deceased"/><br/><br/><form name="beanTest" method="POST" action="testPersonBean.jsp">输入姓名:<input type="text" name="name" size="50"><br/>选择选项:<select name="deceased"><option value="false">活着</option><option value="true">已故</option></select><input type="submit" value="测试这个JavaBean"></form></body> </html>
<jsp:useBean>标签可以在JSP中声明一个JavaBean,然后使用。声明后,JavaBean对象就成了脚本变量,可以通过脚本元素或其他自定义标签来访问。<jsp:useBean>标签的语法格式如下:
<jsp:useBean id="bean's name" scope="bean's scope" typeSpec/>
在<jsp:useBean>标签主体中使用<jsp:getProperty/>标签来调用getter方法,使用<jsp:setProperty/>标签来调用setter方法,语法格式如下:
<jsp:useBean id="id" class="bean's class" scope="bean's scope"><jsp:setProperty name="bean's id" property="property name" value="value"/><jsp:getProperty name="bean's id" property="property name"/>........... </jsp:useBean>
name属性指的是Bean的id属性。property属性指的是想要调用的getter或setter方法。
Jsp程序中使用JavaBean的scope属性:
(a)当scope=application时,我们浏览date.jsp,这时显示出了系统时间。可是不管我们怎么刷新,重新打开一次浏览器,甚至换台机器,它显示的时间始终不变,都是当初的时间(即bean刚创建时得到的系统时间),因为scope=application,所以Bean的实例在内存中只有一份,此时只要不重新启动WEB服务,输出不会变化。
(b)当scope=session时,浏览date.jsp,刷新时显示也不会变化。可是当我们重新打开一浏览器,即一个新的session,系统便再次创建Bean的实例,取得当前系统时间,这时将得到正确的时间。同样,再次刷新新打开的页面(新的session),显示也不会变化。
(c)当scope=page/request(它们的区别只在于包含静态文件时,此处无区别)时,不断刷新页面将不断得到当前系统时间。
转载于:https://www.cnblogs.com/caoxinyi/p/4250247.html
JSP技术之JavaBean相关推荐
- javabean反射改字段内容_JSP第三篇「JavaBean的介绍、JSP的行为--JavaBean」(修订版)...
什么是javaBean JavaBean就是一个普通的java类,也称之为简单java对象--POJO(Plain Ordinary Java Object),是Java程序设计中一种设计模式,是一种 ...
- 在JSP中使用JavaBean
JavaBean与Jsp.在JSP中使用JavaBean(<jsp:useBean>标签.<jsp:setProperty>标签.<jsp:getProperty> ...
- JSP技术的发展趋势
JSP技术主要用来简化动态网页的开发过程,由于它在形式上和html文档比较相似,因此与Servlet相比,用JSP来编写动态网页更加直观. 但是,当网页非常复杂时,JSP文件中的大量的html标记和j ...
- JSP 技术(一)--简述
在动态web项目的开发中,经常需要动态生成HTML内容(如系统中的当前在线人数需要动态生成).如果使用Servlet实现HTML页面数据的统计,则需要使用大量的输出语句.同时,如果静态内容和动态内容混 ...
- Servlet笔记四(JSP技术)
本栏博客目录 Serlvet笔记一(Servlet基础) Servlet笔记二(请求和响应) Servlet笔记三(会话及其会话技术) Servlet笔记四(JSP技术) Servlet笔记五(EL表 ...
- 基于JSP技术的学生网上选课系统的设计与实现
摘 要 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.学生选课系统作为一种现代化的教学技术,已越来越受到人们的重视, ...
- 基于JSP技术进行信息交互的研究与应用
首页 | 最新栏目 | 关于我们 | 读者园地 | 联系我们 基于JSP技术进行信息交互的研究与应用 摘 要 从信息交互的方式着手,结合开发项目中遇到的实际问题,本文总体上将JSP动态 ...
- 基于JSP技术的猎头公司管理软件的设计和实现——内部事务部分(源代码+论文)
分类号:TP315 U D C:D10621-408-(2007)5978-0 密 级:公 开 编 号:2003031227 成都信息工程学院 学位论文 基于JSP技术的猎头公司管理软件的设计和实现 ...
- Java Web中的jsp技术
在动态网页开发中,经常需要动态生成html内容,如果使用servlet来实现html页面数据的改变会导致程序十分臃肿.为了克服这些缺点,Oracle(Sun)公司推出了jsp技术. JSP全名是Jav ...
最新文章
- 桑叶黑芝麻糊,从头到脚通补
- 蚂蚁森林合种计划(2020.12.12,7天有效,每周6更新)
- 三班的孩子们,你们现在还好吗?
- 新功能:在负载均衡SLB控制台上查看DDoS安全防护阈值
- Hadoop(HDFS,YARN)的HA集群安装
- android8.0于与ios,android 8.0 oreo抄袭苹果吗 android oreo和ios 11对比
- 互联网创业是没有什么好计划的
- L2-039 清点代码库 (25 分)-PAT 团体程序设计天梯赛 GPLT
- 内核kconfig语法及原理
- C#使用QQ邮箱发送邮件
- VSS2005安装和配置过程中遇到的问题
- sql获取当前月一号
- MySQL的JDBC驱动8.0配置
- Android模拟器使用SD卡(2)
- Windows Server 2008 R2 远程管理
- 数据库SQL 某字段按首字母排序
- Win10便签删除了怎么恢复?便签删除了的恢复方法
- sip 信令组成的基本格式 总结
- 函数平移口诀_二次函数平移规律口诀
- 寻找指定长度以内的最短连续子段和
热门文章
- [linux]获取当前文件所在目录的函数
- [tensorflow]tensorflow2.1.0使用内置方法进行培训和评估
- won10 mysql 5.7.22主从同步
- Apache OpenNLP(二)
- 1. BeeGo 介绍与项目的创建,启动
- 如何基于数据快速构建用户模型(Persona)?
- 从零开始部署基于阿里容器云的微服务(consul+registrator+template)(一)
- 使用grafana4的alert功能
- 大数据分析引擎Apache Flink升级成为Apache顶级项目
- 春Phone计划 51cto沙龙郑州站活动