下面是一个简单的 JavaBean 类示例:
import java.io.Serializable;
public class AnswersBean implements Serializable {
private static final long serialVersionUID = 1L;
private String answer1;
private String answer2;
private String answer3;
public String getAnswer1() {
return answer1;
}
public void setAnswer1(String answer1) {
this.answer1 = answer1;
}
public String getAnswer2() {
return answer2;
}
public void setAnswer2(String answer2) {
this.answer2 = answer2;
}
public String getAnswer3() {
return answer3;
}
public void setAnswer3(String answer3) {
this.answer3 = question3;
}
}
在第二个 Servlet 中,您可以创建 bean 并使用所需的信息填充:
package com.example;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import com.example.AnswersBean;
public class Servlet2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String answer1 = request.getParameter("Q1");
String answer2 = request.getParameter("Q2");
String answer3 = request.getParameter("Q3");
// you may check if the answers exist and validate them
AnswersBean answersBean = new AnswersBean();
answersBean.setAnswer1(answer1);
answersBean.setAnswer2(answer2);
answersBean.setAnswer3(answer3);
// store bean in session
request.getSession().setAttribute("answers", answersBean);
// you now can forward to some view, for example some results.jsp
request.getRequestDispatcher("/results.jsp").forward(request, response);
}
}
现在,在第三个 Servlet 中,您可以检查会话是否包含 bean:
package com.example;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import com.example.AnswersBean;
public class Servlet3 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
AnswersBean answers = request.getSession().getAttribute("answers");
if (answers == null) {
// no bean was set in session
// do something
} else {
// there is a bean in session
// do something
}
// you now can forward to some view, for example some foo.jsp
request.getRequestDispatcher("/foo.jsp").forward(request, response);
// or do something else
}
}
或者您可以使用以下命令检查某些 JSP 页面内的 bean表达语言 https://stackoverflow.com/tags/el/info(EL)像这样:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<title>Answers</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<c:choose>
<c:when test="${empty answers}">
<h3>There are currently no answers.</h3>
</c:when>
<c:otherwise>
<h3>First answer: ${answers.question1}</h3>
<h3>Second answer: ${answers.question2}</h3>
<h3>Third answer: ${answers.question3}</h3>
</c:otherwise>
</c:choose>
</body>
</html>
P.S.
读这个:
JavaBeans https://stackoverflow.com/tags/javabeans/info
JavaBeans 规范 http://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html
Oracle 的 JavaBean 教程 http://docs.oracle.com/javase/tutorial/javabeans/
UPDATE
我建议您阅读这篇关于 Servlet 和 JSP 的流行教程,以进一步提高您的技能:
初级和中级 Servlet 和 JSP 教程 http://courses.coreservlets.com/Course-Materials/csajsp2.html