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("<","<");
source=source.replace(">",">");
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>