JavaBean技术

2020-08-27 17:49:40 浏览数 (1)

1.JavaBean技术简介

1.JavaBean概述

JavaBean的应用简化了JSP页面,在JSP页面中只包含了HTML代码、CSS代码等,但JSP页面可以引用JavaBean组件来完成某一业务逻辑,如字符串处理、数据库操作等。

2.JavaBean种类

在传统应用中,JavaBean主要用于实现一些可视化界面,如一个窗体、按钮和文本框等,这样的JavaBean被称为可视化的JavaBean。 随着技术的发展与项目的需求,现在的JavaBean主要用于实现一些业务逻辑或封装一些业务对象,由于这样的JavaBean没有可视化界面,所以又被称为非可视化的JavaBean。 非可视化JavaBean又分为值JavaBean和工具JavaBean。 值JavaBean严格遵守JavaBean的命名规则,通常用来封装表单数据,作为信息的容器。 例:创建一个用来封装用户登录时表单中的用户和密码的值JavaBean。

代码语言:javascript复制
public class UserBean{
	private String name;
	private String password;
	public String getName(){
		return name;
	}
	public void setName(String name){
		this.name=name;
	}
	public String getPassword(){
		return password;
	}
	public void setPassword(String password){
		this.password=password;
	}
}

工具JavaBean则可以不遵循JavaBean规范,通风常用于封装业务逻辑、数据操作等,例如连接数据库,对数据库进行增删改查和解决中文乱码操作。 例:工具JavaBean的展示

代码语言:javascript复制
public class MyTools{
	public String change(String source){
		source=source.replace("<","&lt;");
		source=source.replace(">","&gt;");
		return source;
	}
}

2.JavaBean的应用

1.获取JavaBean属性

在JavaBean对象中,为了防止外部直接对JavaBean属性进行调用,通常将JavaBean属性设置为私有的(private),但需要为其提供公共的(public)调用方法,也就是所说的getter方法。

  • 说明:使用<jsp:useBean>动作标识可以实例化JavaBean对象,使用<jsp:getProperty>动作标识可以获取JavaBean中的属性信息。
2.对JavaBean属性赋值

编写JavaBean对象要遵循JavaBean规范,JavaBean规范中的访问器setter方法用于对JavaBean中的属性赋值,如果对JavaBean对象的属性提供了setter方法,在JSP页面中就可能通过<jsp:setProperty>对其进行赋值。

3.如何在JSP页面中应用JavaBean

在JSP页面中应用JavaBean主要通过JSP动作标识<jsp:useBean>、<jsp:getProperty>、<jsp:setProperty>来实现对JavaBean对象的操作,但所编写的JavaBean对象要遵循JavaBean规范。只有严格遵循JavaBean规范,在JSP页面中才能够方便的调用及操作JavaBean。 将JavaBean对象应用到JSP页面中,JavaBean的生命周期就可以自行进行设置,它存在于page、request、session和application共4种范围之内。默认情况下,JavaBean作用于page范围内。

例:在办公自动化系统中实现录入员工信息功能,主要通过在JSP页面中应用JavaBean进行实现。 (1)编写名称为Person的类,将其放置于com.wgh包中,实现对用户信息的封装,其关键代码如下:

代码语言:javascript复制
package com.wgh;

public class Person{
	private String name;//姓名
	private int age;//年龄
	private String sex;//性别
	private String address;//住址
	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;
	}
	public String getAddress(){
		return address;
	}
	public void setAddress(String address){
		this.address=address;
	}
}

在Person类中包含4个属性,分别代表姓名、年龄、性别与住址,此类在实例中充当员工信息对象的JavaBean。 (2)编写程序的主页面index.jsp,在此页面中放置录入员工信息所需要的表单,其具体代码如下:

代码语言:javascript复制
<%@ page language="java" contentType="text/html;charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>录入员工信息页面</title>
<style type="text/css">
ul{
	list-style: none;/*设置不显示项目符号*/
	margin:0px;/*设置外边框*/
	padding:5px;/*设置内边距*/
}
li{
	padding:5px;/*设置内边距*/
}
</style>
</head>
<body>
	<form action="register.jsp" method="post">
		<ul>
			<li>姓 名:<input type="text" name="name"></li>
			<li>年 龄:<input type="text" name="age"></li>
			<li>性 别:<input type="text" name="sex"></li>
			<li>住 址:<input type="text" name="address"></li>
			<li><input type="submit" value="添 加"></li>
		</ul>
	</form>
</body>
</html>

(3)编写名称为register.jsp的JSP页面,用于对index.jsp页面中表单的提交请求进行处理,此页面将获取表单提交的所有信息,然后将所有所获取的员工信息输出到页面之中,其关键代码如下:

代码语言:javascript复制
<%@ page language="java" contentType="text/html;charset=UTF-8"
	pageEncoding="UTF-8"%>
<% request.setCharacterEncoding("UTF-8");%>
<jsp:useBean id="person" class="com.wgh.Person" scope="page">
	<jsp:setProperty name="person" property="*"/>
</jsp:useBean>
<html>
<head>
<meta charset="utf-8">
<title>录入员工信息页面</title>
<style type="text/css">
ul{
	list-style: none;/*设置不显示项目符号*/
	margin:0px;/*设置外边框*/
	padding:5px;/*设置内边距*/
}
li{
	padding:5px;/*设置内边距*/
}
</style>
</head>
<body>
		<ul>
			<li>姓 名:<jsp:getProperty property="name" name="person" /></li>
			<li>年 龄:<jsp:getProperty property="age" name="person" /></li>
			<li>性 别:<jsp:getProperty property="sex" name="person" /></li>
			<li>住 址:<jsp:getProperty property="address" name="person" /></li>
		</ul>
	</form>
</body>
</html>

0 人点赞