jsp与javabean(上)

1、javaBean就是一个用来封装数据的实体。
2、javaBean是一个遵循特定写法的Java类,它通常具有如下的特点
1、这个类必须具有一个无参的构造函数
2、属性必须私有化
3、私有化的属性必须通过public类型的方法暴露给其他程序,并且方法的命名也必须遵守一定的命名规范。
3、javaBean在J2EE开发中其起的作用:
JavaBean在J2EE开发中,通常用于封装数据,对于遵循以上写法的JavaBean组件,其他程序可以通过反射
技术实例化JavaBean对象,并且通过反射那鞋遵守命名规范的方法,从而获知JavaBean的属性
,进而调用其属性保存的数据。
4、javaBean的属性:
1、javaBean的属性可以是任意类型,并且一个JavaBean可以有多个属性。每个属性通常都需要具有相应的setter、getter
  方法,setter方法称为属性修改器,getter方法称为属性访问器。
2、属性修改器必须以小写的set前缀开始,后跟属性名,切属性名的第一个最要大写,
  例如:name属性的修改器名称为setName,password属性的修改器为setPassword。
3、属性访问器通常以小写的get前缀开始,后跟属性名,且属性名的第一个字母要大写。
  例如:name属性的访问器是getName,password属性的访问器是:getPassword。
4、一个javaBean的某个属性页可以只有set方法或者get方法,这样的属性通常称为只写、只读属性。
5、在JSP中使用JavaBean
1、JSP提供了三个关于JavaBean组建的动作元素,即JSP标签,它,恶魔分别为:
1.<jsp:useBean>标签:用于在JSP页面中查找或者实例化一个javaBean组件
2.<jsp:setProperty>标签:用于在JSP页面中设置一个JavaBean组件的属性。
3.<jsp:getProperty>标签:用于在JSP页面中获取一个JavaBean组件的属性。
6、<jsp:useBean>标签
<jsp:useBean>标签用于正在指定域范围内查找指定名称的JavaBean对象。
如果存在则直接返回该JavaBean对象的引用。
如果不存在则实例化一个新的javaBean对象并将它以指定的名称存储到指定的域范围中。
7、<jsp:useBean>标签常用语法
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application" />
id:属性用于指定javaBean实例对象的引用名称和其存储在域范围中的名称
class:属性用于指定javaBean的完整类名(即必须带有包名)
scope:属性用于指定javabean实例对象所存储的域范围,其取值只能是page、request
session和application等四个值中的一个,其默认值是page。
在jsp中操作bean,首先要建立bean,在javaweb工程中建立:src文件夹中建立,bean是用来封装数据的实体,
我们习惯性的把它放在domain的包里面。
8、带表前体的<jsp:useBean>标签
语法:
   <jsp:useBean ...>
Body
   </jsp:useBean>

功能:Body部分的内容只在<jsp:useBean>标签创建javaBean的实例对象时才执行。

Person.java

package cn.itcast.domain;
/*
 * 步骤:
 * 1.在src中建立bean,具体建立的是Person类
 * 2.写一个1.jsp页面,用来操作建立的bean。
 * 
 */
/*
 * 这个bean不仅仅只有name和age这两个属性,它还从Object类中继承了一个getClass方法,共有三个属性
 */
public class Person {
	private String name="aaa";	//getClass();
	private int age=100;
	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;
	}
	
}

1.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>jsp:usebean标签的使用</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
  <!-- 在class中一定要给完整的名称(带包的名称叫做完整名称) -->
  <!-- 内部首先会从page域(实际上是pageContext对象)中查找有没有person这个域,如果有,则直接返回给bean。如果标签内部没有找到,
  		就会实例化一个新bean,并以person作为关键字存在page域里面。总之一句话:必定会有一个person这个域。
   -->
   <!-- usebean标签的标签体只在usebean标签实例化bean时才执行
   		如果把下面的代码中的scope="page" 改成scope="session" ,则在第一次执行的时候再页面中会显示bbbbb,当刷新页面
   		时不会显示bbbbb,因为第一次访问之后,session中存在一个bean了,刷新页面的时候用的还是同一session的。会在session域里面找
   		,正好session域里面有bean,不用再实例化bean了,直接用session里面的bean。
    -->
  	<jsp:useBean id="person" class="cn.itcast.domain.Person" scope="page">
  		bbbbb
  	</jsp:useBean>
  		<%=person.getName() %>
  		<%=person.getAge() %>	
  	
  </body>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值