javaweb之jsp与javaBean的理解与应用实例

javaBean的介绍

JavaBean是一个遵循特定写法的Java类,它通常具有如下特点
  • 这个Java类必须具有一个无参的构造函数。
  • 属性必须私有化。
  • 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。

代码演示一个javaBean实例

package cn.bzu.mywebprojecet.entity;

public class User {
   private String username;
   private String userpass;
   private String sex;
   private String email;
   public User() {
   	super();
   	// TODO Auto-generated constructor stub
   }
   public String getUsername() {
   	return username;
   }
   public void setUsername(String username) {
   	this.username = username;
   }
   public String getUserpass() {
   	return userpass;
   }
   public void setUserpass(String userpass) {
   	this.userpass = userpass;
   }
   public String getSex() {
   	return sex;
   }
   public void setSex(String sex) {
   	this.sex = sex;
   }
   public String getEmail() {
   	return email;
   }
   public void setEmail(String email) {
   	this.email = email;
   }	
}

< jsp:useBean>元素

//作用于查找或者实例化一个JavaBean,动态的扩充jsp的功能

语法
scope=“page|request|session|application|”/>
或者
scope=“page|request|session|application|”/>

id:指定JavaBean的实例变量名,通过id可以访问这个实例
class: 指定JavaBean的类名
scope : 指定作用范围
type指定JavaBean对象的类型,通常在查找已存在的javaBean时使用。

结合上面的javaBean使用一下

<jsp:useBean id="user" class="cn.bzu.mywebprojecet.entity.User" 
	scope="request"/>

< jsp:setProperty>元素

//作用于向一个JavaBean对象赋值,需要和 < jsp: useBean>一块使用

语法
value =“propertyValue”/>
或者
param =“parameterName”/>

name : 指定JavaBean的对象名,与UseBean的id相同
property : 指定JavaBean中需要赋值的属性名
value : 指定要为属性设置的值
param: 指定请求中的参数名,并将该参数的值赋给peoperty索指定的属性

代码实例

<jsp:setProperty property="username" name="user" value ="哼哼的博客"/>

此示例表示通过value属性值来指定javaBean对象user的username属性的值。

	<% String username = "哼哼的博客"; %>
	<jsp:setProperty property="username" name="user" value ="<%=username %>"/>

使用一个表达式的值来为username的属性赋值。

//假设有一个请求http://localhost:8080/MyWebProject/register.jsp?username="哼哼的博客"
<jsp:setProperty property="username" name="user" param="username"/>

表示通过param属性来将请求参数username的值赋给JavaBean对象user的username属性。

<jsp:setProperty property="*" name="user"/>
	<jsp:useBean id="user" class="cn.bzu.mywebprojecet.entity.User" 
	scope="request"/>
	<jsp:setProperty property="username" name="user" param="username" value="哼哼的博客"/>
	<jsp:setProperty property="username" name="user" param="userpass" value="123456"/>

表示为所有的属性赋值

< jsp:getProperty>元素

//作用于从一个JavaBean中得到某个属性的值,不管这个属性是什么类型,都将被转换成一个String类型的值

语法

property:指定JavaBean中需要访问的属性名
name : 指定JavaBean对象名,与useBean中id相同

<jsp:getProperty property="username" name="user"/>

javaBean的应用实例,实现注册以及注册的确认

javaBean User类

package cn.bzu.mywebprojecet.entity;

public class User {
	private String username;
	private String userpass;
	private String sex;
	private String email;
	public User() {
		super();
		// TODO Auto-generated constructor stub
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getUserpass() {
		return userpass;
	}
	public void setUserpass(String userpass) {
		this.userpass = userpass;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	
}

register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册页面</title>
</head>
<body>
	<form action="registerConfirm.jsp" method="post">
		<table>
			<tr>
				<td>用户名</td>
				<td><input type="text" name="username" /></td>
			</tr>
			<tr>
				<td>密码</td>
				<td><input type="password" name="userpass" /></td>
			</tr>
			<tr>
				<td>性别</td>
				<td><input type="radio" name="sex" value="男" /><input
					type="radio" name="sex" value="女" /></td>
			</tr>
			<tr>
				<td>邮箱</td>
				<td><input type="text" name="email" /></td>
			</tr>
			<tr>
				<td><input type="submit" name="submit" value="注册" /></td>
				<td></td>
			</tr>
		</table>
	</form>

	
</body>
</html>

registerConfirm,jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册确认</title>
</head>
<body>
	<%
		//设置请求的编码集
		request.setCharacterEncoding("UTF-8");
	%>
	<jsp:useBean id="user" class="cn.bzu.mywebprojecet.entity.User" 
	scope="request"/>
	<jsp:setProperty property="*" name="user" />

	<form action="login.jsp" method="post">
		<table>
			<tr>
				<td>用户名</td>
				<td> <jsp:getProperty property="username" name="user"/></td>
			</tr>
			<tr>
				<td>密码</td>
				<td> <jsp:getProperty property="userpass" name="user"/> </td>
			</tr>
			<tr>
				<td>性别</td>
				<td> <jsp:getProperty property="sex" name="user"/> </td>
			</tr>
			<tr>
				<td>邮箱</td>
				<td> <jsp:getProperty property="email" name="user"/> </td>
			</tr>
			<tr>
				<td><input type="submit" name="submit" value="确认提交" /></td>
				<td></td>
			</tr>
		</table>
	</form>
</body>
</html>

输出结果
javaweb之jsp与javaBean的理解与应用实例_第1张图片
javaweb之jsp与javaBean的理解与应用实例_第2张图片

你可能感兴趣的:(javaWeb)