javabean的简单使用

  1. JavaBean介绍

JavaBean是封装的类,可以实现代码的重用,可分为可视化JavaBean和不可视化JavaBean。可视化JavaBean如GUI图形化编程的类;不可视化JavaBean又分为带有getXxx、setXxx、isXxx等方法封装的类和其他功能性封装的类。

  1. JSP JavaBean规范

用于web(jsp)访问的JavaBean类一般遵循如下规范:

  1. 实现java.io.Serializable接口(jdk11以前,后面不建议使用,在分布式时不占优势。)
  2. 有一个public修饰的构造方法
  3. 属性用private修饰
  4. 类不能用final修饰
  5. 为属性提供set和get方法
  6. boolean属性建议提供isXXX和setXXX方法

 

2.JSP与JavaBean交互

JSP通过【jsp:useBean】标签调用JavaBean类,通过【jsp:setProperty】设置属性值,通过【<jsp:getProperty】获取属性值。

下面是JavaBean代码

package javabean;

public class Test1 {
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;
}
	
}

下面是jsp页面调用JavaBean类

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>测试</h1>
<!-- //调用Test1类,id相当于定义的对象,class相当于导入包 -->
<jsp:useBean id="test" class="javabean.Test1"></jsp:useBean>

<!-- //设置属性值,property为要设置的属性值,name为属性的对象,value为要设置的值 -->
<jsp:setProperty property="name" name="test" value="小明"/>
<jsp:setProperty property="password" name="test" value="123"/>

<h3>读到的数据为:
<!-- //设置属性值,property为要读取的属性值,name为属性的对象,value为要设置的 -->
</h3><jsp:getProperty property="name" name="test"/>
<jsp:getProperty property="password" name="test"/>
</body>
</html>

下面是运行效果

 

javabean的生命周期可以进行自行设置,它存在与4范围内,分别为page,requerst,session和application,默认情况下,JavaBean作用与page范围内。

 

下面是JavaBean代码

package javabean;

public class Test1 {
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;
}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根

	}

}

 

jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>测试</h1>

<form action="accept.jsp" method="post">
<table align="center" width="400" height="40" border="1">
<tr><td align="center" colspan="2" height="40">
<b>添加用户信息</b>
</td></tr>
<tr><td align="right">姓名:</td><td><input type="text" name="name"></td></tr>
<tr><td align="right">密码:</td><td><input type="password" name="password"></td>
<tr>
<td align="center" colspan="2"><input type="submit" value="添加"></td></tr></table></form>
</body>
</html>

 

accpect.jsp页面

//通过<jsp:setProperty="*"/>的形式接受所有的参数。(表单的属性名称要设置为javabean中的属性名称“)

<%@page import="javabean.Test1"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%request.setCharacterEncoding("utf-8"); %>
<jsp:useBean id="persion" class="javabean.Test1" scope="page">
<jsp:setProperty name="persion" property="*"/>
</jsp:useBean>
<table align="center" width="400">
<tr><td align="right" >姓名:</td><td><jsp:getProperty property="name" name="persion"/></td></tr>
<tr><td align="right" >密码:</td><td><jsp:getProperty property="password" name="persion"/></td></tr></table>
</body>
</html>

运行效果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值