JavaBean的用法
JavaBean是一个可重复使用的软件组件,是用Java语言编写的、遵循一定标准的类。
JavaBean是Java Web的重要组件,它封装了数据和操作的功能类,供JSP和Servlet调用,完成数据封装和数据处理等功能。
既然JavaBean是一个遵循标准的类,那么标准是什么?
JavaBean的设计规则:
- JavaBean是一个公共类。
- JavaBean类具有一个公共无参的构造方法。
- JavaBean所有的属性定义为私有。
- JavaBean中,需要对每个属性提供两个公共方法,Set方法和Get方法。
- 定义JavaBean时,通常放在一个命名的包下。
毕竟公式,定义什么的都比较难懂,那就举个例子吧。
package beans //这一句表示JavaBean放在beans的包下
Public class User{
private String name;
private
int
age;
private String sex;
public String getName() {
return
name;
}
public
void setName(String name) {
this.name = name;
}
public
int getAge() {
return
age;
}
public
void setAge(int age) {
this.age = age;
}
public String getSex() {
return
sex;
}
public
void setSex(String sex) {
this.sex = sex;
}
}
在设计网站后台时,我们可能会用到用户的姓名,年龄,性别,我们如果使用JavaBean的类将用户的信息封装,使用的时候可以调用set,get方法来设置和获取他们的值。
Set,get方法的语法:
setxxx():用来设置属性xxx的值。
getxxx():用来获取属性xxx的值。
那如果你使用Eclipse来编辑的话,那就厉害了,有一个快捷生成set,get方法的途径。


我们介绍完JavaBean的定义,接下来我们介绍在JSP中怎么使用JavaBean。
JavaBean的使用
在jsp中我们可以使用动作标签来访问JavaBean,也可以使用脚本代码访问,在这里我们介绍第一种。
主要有三种动作标签
- <jsp:useBean>:声明并创建对象。
- <jsp:setProperty>:设置指定属性的值。
- <jsp:getProperty>:获取指定属性的值。
使用的时候,还要注意他们的声明格式:
<jsp:useBean id="对象名" class="类名" scope="有效范围"/>
<jsp:setProperty name=" 对象名" property="属性名" value="指定值"/>
<jsp:getProperty name=" 对象名" property=" 属性名"/>
我们接着上面的例子再接着举几个例子。
<jsp:useBean id="user1" class="beans.User" scope="session"/>
这句话的意思是,定义一个User类的对象user1,范围是session。
类名必须使用完全限定类名。
Scope属性有page, requese, session, application四个可选值,分别代表页面,请求,会话,应用4种范围。
<jsp:setProperty name="user1" property="name" value="苍井空"/>
这句话的意思是,设定user1对象的name属性值为"苍井空"。
<jsp:setProperty>还有几种变型:
- <jsp:setProperty name=" beanname " property=" propertyname" />
- <jsp:setProperty name=" beanname" property=" propertyname" param=" paramname"/>
- <jsp:setProperty name=" beanname" property="*" />
这几种变型主要处理form表单提交时的属性赋值。
- 将propertyname的值提交给beanname中的属性名称相同的属性。
- 将请求参数名称为paramname的值提交给propertyname属性。
- 将所有的属性与请求参数关联,实现自动复制并自动转换数据类型。
<jsp:getProperty name="user1" property="name"/>
这句话的意思是,将user1对象的name属性值显示在页面上。
注意,是直接显示在页面上!!!
JavaBean的安装部署
(如果使用Eclipse,软件会自动部署,这部分可跳过)
设计好的JavaBean类经过编译后还必须部署到Web应用程序中才能被JSP或者Servlet应用。
将单个JavaBean类部署到"../WEB-INF/classes/"下。
JavaBean的打包类Jar部署到"../WEB-INF/lib"下。
JavaBean的用法的更多相关文章
- JavaBean基本用法示例(二)
JavaBean的第二种用法,是接收form组件的请求赋值. 一.修改person类.因为这一次是两个网页之间的数据传输,受中文乱码问题的影响,所以在person类中添加一个用于转码的函数,并且在每一 ...
- JavaBean基本用法示例(一)
一.首先创建一个类person,里面有四个成员:name,sex,age,info,添加四个成员所有的set和get方法. package com.kaly.bean; public class pe ...
- jsp中JavaBean的用法
UserRegisterBean.java:这是JavaBean package JavaBean; public class UserRegisterBean { private String us ...
- 什么是javabean及其用法
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...
- 什么是javabean及其用法(转)
因工作需要 需要学习jsp方面的知识 这篇博客文章写得比较全面 我记录下: 一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个 ...
- (九)Javabean与Jsp(来自那些年的笔记)
目录 JavaBean 在JSP中使用JavaBean 标签用法 带标签体的 JavaBean 标签 setProperty 标签 getProperty 标签 JSP开发模式 案列:使用 模式一 编 ...
- Java学习day11-类的成员之三:构造器(构造方法)
一.构造器(构造方法) 语法格式: 修饰符 类名(参数列表){ 初始化语句: } 构造器的特征: 1.它具有与类相同的名称 2.它不声明返回值类型.(与声明为void不同) 3.不能被static.f ...
- JavaBean简介和用法
一.JavaBean的含义 JavaBean是使用Java语言开发的一个可重用组件,能使Html代码与JAVA代码分离,并节省开发时间,简单的说就是一个包含了setter和getter以及至少一个无参 ...
- as 插件GsonFormat用法(json字符串快速生成javabean)
GsonFormat 主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 插件地址:https://plugins.jetbra ...
随机推荐
- Linux的Shell
Shell是命令行解释和执行器,是介于使用者和操作系统内核(Kernel)之间的一个接口: Bash (Bourne Again shell) 是Linux系统下经典的Shell;
- hihoCoder太阁最新面经算法竞赛15
hihoCoder太阁最新面经算法竞赛15 Link: http://hihocoder.com/contest/hihointerview24 题目1 : Boarding Passes 时间限制: ...
- IO操作工具类
package com.imooc.io; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...
- mybatis多对一关联
mybatis多对一关联查询实现 1.定义实体 定义实体的时候需要注意,若是双向关联,就是说双方的属性中都含有对方对象作为域属性出现, 那么在写toString()方法时需要注意,只让某一方输出即可, ...
- 安装cocoapods
1. 看一下ruby的版本 ruby -v 2. 删除默认源 gem sources --remove https://rubygems.org/ 3. 添加淘宝源 gem sources -a ht ...
- 一次基于etcd的分布式锁自动延时失败问题的排查
今天在测试基于etcd的分布式锁过程中,在测试获取锁后,释放之前超出TTL时长的情况下自动延长TTL这部分功能,在延长指定key的TTL时总是返回404错误信息,在对目标KEY更新TTL时目标KEY已 ...
- iOS持续写文件到本地
NSString *tempSavePath = [NSString stringWithFormat:@"%@/Documents",kDocumentPath]; NSFile ...
- R 培训之 Table
res = read.table("ttest_expression.tsv",sep=",",header = TRUE)rownames(res)=res[ ...
- C# GetType与typeof
在反射和泛型中经常会使用到Type类,获取Type的最常用的方法是 obj.GetType(),和typeof(T).在获取泛型的type时有些小坑. public static void Main( ...
- thinkphp添加数据
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...