JavaBeans是特殊的java类,JavaBeans是Java平台的可重用组件,能提供一定的通用功能,可以在Java应用中重复使用,组合使用;JavaBeans组件可以快速生成新的应用
JavaBeas的编码约定包括
1.一个公有的(public)默认的无参构造函数
2.需要序列化且实现Serializable接口
3.所有属性都是私有的(private)
4.提供一系列公有的Getter和Setter方法
一、首先创建一个页面,从页面获取用户名和密码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>JavaBean</title>
</head>
<body>
<form action="forward.do" method="post">
用户:<input type="text" name="name" value="${name }"></br>
密码:<input type="password" name="password" value=""></br>
<input type="submit" value="提交">
</form>
</body>
</html>
二、再写一个JavaBean,需要序列化且实现Serializable接口
package edu.xt.bean;
import java.io.Serializable;
public class Person implements Serializable{
private static final long serialVersionUID = 1L;
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 Person() {
super();
}
public Person(String name, String password) {
super();
this.name = name;
this.password = password;
}
}
三、创建一个页面实现Servlet转发
package edu.xt.bean;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/forward.do")
public class ForwardServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("name");
String password = request.getParameter("password");
Person person = new Person();
person.setName(name);
person.setPassword(password);
//在属性中设置对象
request.setAttribute("name", name);
request.setAttribute("password", password);
RequestDispatcher view = request.getRequestDispatcher("result.jsp");
view.forward(request, response);
}
}
四、来一个页面接受结果
<html>
<head>
<base href="<%=basePath%>">
<title>获取请求中的对象</title>
</head>
<body>
<h4>方式二</h4>
<jsp:useBean id="person" class="edu.xt.bean.Person" scope="page"></jsp:useBean>
<jsp:setProperty property="name" name="person"/>
<jsp:setProperty property="password" name="person"/>
获取的人名:<jsp:getProperty property="name" name="person"/>
获取密码:<jsp:getProperty property="password" name="person"/>
<hr/>
</body>
</html>
启动程序看一下效果:
接收结果的页面