JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

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

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

1.提供一个默认的无参构造函数。

2.需要被序列化并且实现了 Serializable 接口。

3.可能有一系列可读写属性。

4.可能有一系列的 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. Jsp+Servlet+JavaBean经典MVC模式理解

    MVC模式目的(实现Web系统的职能分工). 在Java EE中,Jsp+Servlet+JavaBean算是里面经典的模式,是初学者必备的知识技能.M, Model(模型)实现系统的业务逻辑 1.通 ...

  2. JSP,Servlet,JavaBean在WEB应用的角色

    JSP,Servlet以及JavaBean在编写WEB应用的时候,分别担当什么角色? 可以说你这的这种想法可以理解为典型的MVC控制模式.     jsp   来显示数据,____view;     ...

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

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

  4. java web编写计算器_javaWeb 使用 jsp 和 javaBean 实现计算器功能

    jsp 和 javaBean 实现计算器功能 try { calculator.calculate(); } catch (Exception e) { out.write(e.getMessage( ...

  5. 【JSP】JSP与JavaBean的关系

    JavaBean是一种特殊的Java类,以封装和重用为目的,在类的设计上遵从一定的规范,以供其它组件根据这种规范来调用. JavaBean最大的优势在于重用,同时它又具有以下特性: 易于维护.使用.编 ...

  6. 基于jsp servlet javabean的学生管理系统

    日期:2019/10/24 该学生管理系统基于jsp+servlet+javabean,使用MVC模式,是一个很基础的学生管理系统,由于这是本学期的课程大作业,所以现在还没有完全写完,这篇博文会根据进 ...

  7. JSP 和 JavaBean 来实现一个简易计算器

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码 1.calculater.jsp 2.Calculater.java 总结 前言 使用 JSP 和 Java ...

  8. jsp+Servlet+javaBean编写计算体重指数测量(BMI)的简单程序

    jsp+Servlet+javaBean编写计算体重指数测量(BMI)的简单程序 BMI.java(javaBean代码) public class BMI { private double bmi, ...

  9. JSP+Servlet+Javabean自助餐厅饭店收银管理系统带推荐

    开发工具:Eclipse/Idea  数据库:mysql 开发技术: JSP + Servlet + JavaBean 一个自助餐厅饭店管理系统,实现了餐厅的无纸化自动管理,员工或者管理员登录系统后可 ...

最新文章

  1. Eigen::Matrix
  2. 工作笔记--关于服务出问题时如何处理的流程
  3. 数据集和神经网络共同进步之代码之路
  4. Spring MVC 多选框 绑定 Entity 中的 list 属性
  5. MySQL使用学习使用,mysql学习--基本使用_MySQL
  6. 一个 人 的 态度 决定 他 成功 的 高度
  7. face 3000 C++ 代码理解
  8. 矩阵运算_Eigen使用_基本数据类型
  9. Win7系统做路由器
  10. java怎么与数据库连接?
  11. android设计简单计算器代码下载,简单计算器实例
  12. 3dmax寻找丢失贴图_寻找遗失的号码
  13. hex、bin、elf、axf文件区别
  14. UE5 c++ 写一个livelink插件
  15. python3爬虫——模拟登录丁香园并提取信息
  16. 都用无线技术,差距咋就这么大呢
  17. 单片机C语言仿真图,单片机C语言程序设计代码和仿真图.doc
  18. html p标签行间距怎么调,css怎么设置行距?
  19. SQL查询语句的使用
  20. 空间坐标转化——三维转二维

热门文章

  1. Nginx源码分析:epoll事件处理模块概述
  2. 交换数字(不用临时变量)
  3. 爬虫之selenium爬取斗鱼网站
  4. python 时间time()及日期date()函数
  5. 中秋将至,联合几个号主送出价值500元的中秋大礼包
  6. 使用Python分析姿态估计数据集COCO的教程
  7. HyperPocket:生成点云网络
  8. 读了那么多CV论文,竟然连车道线分割都实现不了!
  9. Windows10 搭建java环境——JDK11的安装与eclipse的安装
  10. Android studio 真机联调闪退