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 ...
随机推荐
- JaveScript-解决表格使用滚动条时冻结表头栏问题
解决方法: //设置表格表头里的th==表格内容里的td function ThEqualTd(thId, tdId) { var tdNum = document.getElementById(td ...
- 踢出非法Linux用户
非法添加用户及非法进去的远程操作用户! 01.非法用户闯入系统 最简单的办法就是用 w 命令来检查. 如果确认有非法用户出现在系统内,可以立即 kill 用户相关进程. kill -9 `lsof ...
- Android SharedPreferences公共类sharedhelper
SimpAndroidFarme是近期脑子突然发热想做的android快速开发的框架,目标是模块化 常用的控件,方便新手学习和使用.也欢迎老鸟来一起充实项目:项目地址 sharedpreference ...
- Java的基本数据类型与转换
1.1 Java为什么需要保留基本数据类型 http://www.importnew.com/11915.html 基本数据类型对大多数业务相关或网络应用程序没有太大的用处,这些应用一般是采用客户端/ ...
- NC 销售订单
主表:so_sale,主键:csaleid 子表1:so_saleorder_b 主键:corder_bid 子表2:so_saleexecute 主键:csale_bid 要求子表1和子表2 主键相 ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- java中IO流小解
下面这张图列出了java中一些处理流: java中根据操作对象的不同可以分为:字节流和字符流. 首先我们先表示一下什么叫节点流和处理流: 节点流:可以从或向一个特定的地方(节点)读写数据.如FileR ...
- Android组件化和插件化开发
http://www.cnblogs.com/android-blogs/p/5703355.html 什么是组件化和插件化? 组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Modul ...
- Centos7 下面安装 MySql 客户端
Workench 是官发发布的Mysql客户端,是Linux下面比较通用的了, 如果使用X界面,可以试着熟悉下. 下载链接: http://cdn.mysql.com//Downloads/MySQL ...
- js导出excel
function inportEx() { $("#btnEx").text("导出中..."); var fugNumber = "";/ ...