JSP JavaBean

JavaBean是特殊的Java类,使用J ava语言书写,并且遵守JavaBean API规范。

接下来给出的是JavaBean与其它Java类相比而言独一无二的特征:

  • 提供一个默认的无参构造函数。
  • 需要被序列化并且实现了Serializable接口。
  • 可能有一系列可读写属性。
  • 可能有一系列的"getter"或"setter"方法。

JavaBean属性

一个JavaBean对象的属性应该是可访问的。这个属性可以是任意合法的Java数据类型,包括自定义Java类。

一个JavaBean对象的属性可以是可读写,或只读,或只写。JavaBean对象的属性通过JavaBean实现类中提供的两个方法来访问:

方法 描述
getPropertyName() 举例来说,如果属性的名称为myName,那么这个方法的名字就要写成getMyName()来读取这个属性。这个方法也称为访问器。
setPropertyName() 举例来说,如果属性的名称为myName,那么这个方法的名字就要写成setMyName()来写入这个属性。这个方法也称为写入器。

一个只读的属性只提供getPropertyName()方法,一个只写的属性只提供setPropertyName()方法。


JavaBean 程序示例

这是StudentBean.java文件:

package com.runoob;public class StudentsBean implements java.io.Serializable
{private String firstName = null;private String lastName = null;private int age = 0;public StudentsBean() {}public String getFirstName(){return firstName;}public String getLastName(){return lastName;}public int getAge(){return age;}public void setFirstName(String firstName){this.firstName = firstName;}public void setLastName(String lastName){this.lastName = lastName;}public void setAge(int age) {this.age = age;}
}

编译 StudentBean.java 文件(最后一个实例会用到):

$ javac StudentsBean.java

编译后获得 StudentBean.class 文件,将其拷贝到 <JSP 项目>/WebContent/WEB-INF/classes/com/runoob,如下图所示:


访问JavaBean

<jsp:useBean> 标签可以在JSP中声明一个JavaBean,然后使用。声明后,JavaBean对象就成了脚本变量,可以通过脚本元素或其他自定义标签来访问。<jsp:useBean>标签的语法格式如下:

<jsp:useBean id="bean 的名字" scope="bean 的作用域" typeSpec/>

其中,根据具体情况,scope的值可以是page,request,session或application。id值可任意只要不和同一JSP文件中其它<jsp:useBean>中id值一样就行了。

接下来给出的是 <jsp:useBean> 标签的一个简单的用法:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<html>
<head>
<title>useBean 实例</title>
</head>
<body><jsp:useBean id="date" class="java.util.Date" />
<p>日期为:<%= date %></body>
</html>

它将会产生如下结果:

日期为:Tue Jun 28 15:22:24 CST 2016

访问 JavaBean 对象的属性

在 <jsp:useBean> 标签主体中使用 <jsp:getProperty/> 标签来调用 getter 方法,使用 <jsp:setProperty/> 标签来调用 setter 方法,语法格式如下:

<jsp:useBean id="id" class="bean 编译的类" scope="bean 作用域"><jsp:setProperty name="bean 的 id" property="属性名"  value="value"/><jsp:getProperty name="bean 的 id" property="属性名"/>...........
</jsp:useBean>

name属性指的是Bean的id属性。property属性指的是想要调用的getter或setter方法。

接下来给出使用以上语法进行属性访问的一个简单例子:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<html>
<head>
<title>get 和 set 属性实例</title>
</head>
<body><jsp:useBean id="students" class="com.runoob.StudentsBean"> <jsp:setProperty name="students" property="firstName"value="小强"/><jsp:setProperty name="students" property="lastName" value="王"/><jsp:setProperty name="students" property="age"value="10"/>
</jsp:useBean><p>学生名字: <jsp:getProperty name="students" property="firstName"/>
</p>
<p>学生姓氏: <jsp:getProperty name="students" property="lastName"/>
</p>
<p>学生年龄: <jsp:getProperty name="students" property="age"/>
</p></body>
</html>

访问以上 JSP,运行结果如下:

学生名字: 小强学生姓氏: 王学生年龄: 10

JSP JavaBean相关推荐

  1. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复 ...

  2. JSP+JavaBean+Servlet工作原理实例…

    JSP+JavaBean+Servlet工作原理实例讲解 首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念.引用mz3226960提出的MVC的概念,即M-model ...

  3. JSP+JavaBean+Servlet技术(MVC模型)

    一,Servlet开发 用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这 ...

  4. JavaWeb开发模式:C/S模式,B/S模式,JSP+JavaBean模式,JSP+Servlet+JavaBean模式

    JavaWeb开发模式 1.C/S开发模式 1.C/S架构:客户端Client/服务端Server: a.出现较早,主要应用于局域网内: b.胖客户端:需要特定软件支持(安装客户端) 逻辑关系图如下: ...

  5. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  6. javaweb学习总结(二十二):基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  8. 方立勋_30天掌握JavaWeb_(Servlet+JSP+JavaBean实现)用户注册和登陆

    JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据. Servlet+JSP+JavaBean(M ...

  9. 方立勋_30天掌握JavaWeb_(JSP+JavaBean实现)简单计算器

    JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据. Servlet+JSP+JavaBean(M ...

最新文章

  1. pytorch 笔记:torch.distributions 概率分布相关(更新中)
  2. Web前端三剑客之HTML基础
  3. 51 Python - 装饰器 参数化装饰器——装饰器更通用
  4. 算法导论 算法_算法导论
  5. aspen求理论塔板数_aspen 塔设计
  6. 使用GDB调试产生多进程的程序
  7. ipv6单播地址包括哪两种类型_IPv6基础介绍
  8. 新手学JavaScript都要学什么?
  9. [swift 进阶]读书笔记-第八章:错误处理 C8P3 带有类型的错误
  10. 安装Ubuntu后找不到windows启动项的解决办法
  11. 八皇后问题 回溯法
  12. ALSA声卡08_从零编写之框架_学习笔记
  13. 手指在屏幕上滑动,红色的小球始终跟随手指移动。
  14. 3DMAX在三维GIS建模中的应用与优化
  15. FFmpeg入门详解之12:Elecard Stream Analyzer码流分析工具
  16. 计算机 蚂蚁搬家 教案,《观察蚂蚁搬家》教学设计
  17. yolov2中的reorg网络层数据理解
  18. d3中文案例_D3.js实现动态仪表盘案列
  19. 简历被肆意贩卖,个人信息安全何在?
  20. python如何读取文件中第一行的元素_python txt读取第一行数据库

热门文章

  1. java web自动化部署_JavaWeb项目自动化部署脚本
  2. java db 10.4.13_Spring Data MongoDB 1.10.13和Mongo 3.4
  3. Java:异常的概念及分类、异常的处理、异常抛出及自定义异常
  4. ProgressBar(圆形、水平进度条)的基本使用(点击Button1按钮,显示或消失圆形ProgressBar)(每点击一次Button2按钮,水平进度条增加10%)
  5. Button控件的基本使用(初识封装、减少代码冗余性、代码优化)
  6. Ubuntu 16.04 安装 caffe
  7. logstic 回归文章链接
  8. linux libpath的作用,linux – LD_LIBRARY_PATH似乎不起作用
  9. torch_geometric 笔记:TORCH_GEOMETRIC.UTILS(更新中)
  10. 机器学习笔记:误差的来源(bias variance)