实验内容
1、JavaBean的熟练使用
(1)创建一个猜数字a.jsp页面,提供数字输入控件;
(2)数字猜测完成后提交请求到b.jsp;
(3)在b.jsp中使用一个JavaBean获取并判断输入的数字是否和已随机生成的数字一致,并给出猜测结果。
代码
a.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>
<!-- 提交到b页面 -->
<form name="form" action="b.jsp" method="get">
<table>
<tr>
<td>输入一个数字:</td>
<td><input type="text" name="num" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="竞猜" /></td>
</tr>
</table>
</form>
</body>
</html>
b.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>
<!--此处输出的是a页面提交的数字-->
数字:<%=request.getParameter("num") %><br>
<jsp:useBean id="NumBean" class="com.test.javabean.NumBean" scope="page"/>
<!--设置正确数值-->
<jsp:setProperty property="num" name="NumBean" value="10"/>
<!--比较-->
<%
int n = Integer.parseInt(request.getParameter("num"));
boolean r = NumBean.compare(n);
%>
<h2>正确答案:<jsp:getProperty property="num" name="NumBean"/></h2>
<h2>你的结果:<%=r%></h2>
<br>
</body>
</html>
Numbean.jsp
package com.test.javabean;
public class NumBean {
private int num;
public void setNum(int num) { //设置数值
this.num = num;
}
public int getNum() { //获取数值
return num;
}
public boolean compare(int n){ //比较是否相同
if(n == this.getNum()) {
return true;
}else {return false;}
}
}
2、JavaBean的熟练使用
(1)创建一个学生注册页面register.jsp,并提交注册请求到view.jsp;
(2)在view.jsp中使用一个JavaBean获取并显示注册信息。
代码
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>
<%
// 设置请求编码方式,防止中文乱码
request.setCharacterEncoding("utf-8");
%>
<h2 align="center">学生注册页面</h2>
<form action="view.jsp" method="post">
<table border="1" width="50%" align="center">
<tr>
<td>姓名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="radio" name="sex" checked="checked" value="男">男
<input type="radio" name="sex" value="女">女</td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
view.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");
%>
<!-- 实例化JavaBean,使用请求参数为对象属性赋值 -->
<jsp:useBean id="StudentBean" class="com.topus.student.StudentBean" scope="session"/>
<!-- property="*"代表bean的所有属性-->
<jsp:setProperty property="*" name="StudentBean" />
<h2 align="center">用户注册信息确认</h2>
<form action="view.jsp" method="post">
<table border="1" width="50%" align="center">
<tr>
<td>姓名:</td>
<td><jsp:getProperty property="username" name="StudentBean" /></td>
</tr>
<tr>
<td>密 码:</td>
<td><jsp:getProperty property="password" name="StudentBean" /></td>
</tr>
<tr>
<td>性别:</td>
<td><jsp:getProperty property="sex" name="StudentBean" /></td>
</tr>
<tr>
<td>年龄:</td>
<td><jsp:getProperty property="age" name="StudentBean" /></td>
</tr>
<tr>
<tr>
<td>邮箱:</td>
<td><jsp:getProperty property="email" name="StudentBean" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit"
value="确认"></td>
</tr>
</table>
</form>
</body>
</html>
StudentBean.java
package com.test.student;
public class StudentBean {
private String username;
private String password;
private String email;
private char sex;
private int age;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
总结
JavaBean是一种软件组件模型,用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。(以上来自百度百科)
所以说在我看来Javabean其实很好理解,就是相当于你将想要的对象打包成为一个类,然后让它能在网页中使用,实际上就是一个特殊的java类,让你在进行数据传递的时候不用那么繁琐,就如上述实例,传递一个学生的信息除了姓名还有很多其他信息,我们不可能每一次都把所有信息都编写出来,将它们封装成一个Javabean不仅可以打包传递,在别的页面写的时候也不用重新再写,调用的过程非常简单,无论你逻辑如何变化,只要是信息相同就能直接调用。
网友评论