1 实验目的
- 理解
JavaBean
概念,掌握JavaBean的工作原理。 - 重点掌握JavaBean的
设计要点
。 - 重点掌握表单数据与JavaBean的
对应关系
。
2 实验原理
JavaBean是Java语言写的可重用组件,是符合某种规范的Java类,JavaBean满足下面规范:
- JavaBean是
具体的
和公共的
;- 必须有
一个无参构造方法
;- 必须有
setXx()
方法和getXxx()
方法。
在JSP页面中访问JavaBean的方法有直接访问
和JSP标签访问
两种。
(1)直接访问JavaBean的方法。在页面导入JavaBean类,在JSP段实例化JavaBean:
<%@ page import="javaBean.userBean" %>
<%
userBean user = new userBean();
//使用user.setXxx()设置user的属性
//使用user.getXxx()访问user的属性
%>
(2)在JSP页面使用
<jsp:useBean>
标签:
<jsp:useBean id="bean对象名称" class="创建bean的类名称" scope="request"/>
<!--或者-->
<jsp:useBean id="bean对象名称" class="创建bean的类的名称" scope="request"></jsp:useBean>
3 实验任务与步骤
3.1 使用JavaBean获取表单参数
任务描述:
- 设计一个JavaBean类Student.java,该JavaBean包含学号、姓名属性及各属性对应的getter和setter方法;
- 设计表单页面input.jsp,提供学号、姓名等参数,提交给receive.jsp进行处理;
- 设计接收参数的页面receive.jsp,实例化JavaBean对象,自动获取input.jsp提交的学号和姓名信息;
- 使用JavaBean自动获取表单传来的参数。
3.1.1 编写Student.java
%PROJECTROOT%/src/exp03/bean/Student.java
的内容如下:
package exp03.bean;
public class Student {
private String xh;
private String name;
private String birthday;
public String getXh() {
return xh;
}
public void setXh(String xh) {
this.xh = xh;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
3.1.2 编写studentForm.jsp
%WEBROOT%/jsp/exp03/content01/studentForm.jsp
的内容如下:
<%--
Document : studentForm
Created on : 2018-10-3, 19:48:41
Author : zhaoxuyang
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>JavaBean test</title>
</head>
<body>
<form action="studentRecv.jsp" mathod="post">
学号:<input type="text" name="xh"><br />
姓名:<input type="text" name="name"><br />
出生日期:<input type="text" name="birthday"><br />
<input type="submit" value="提交" />
</form>
</body>
</html>
3.1.3 编写studentRecv.jsp
<%--
Document : studentRecv
Created on : 2018-10-3, 19:51:50
Author : zhaoxuyang
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<jsp:useBean id="student" class="exp03.bean.Student" scope="request"/>
<html>
<head>
<title>JavaBean test</title>
</head>
<body>
直接从表单自动获取到的参数如下:<br />
<jsp:setProperty name="student" property=