使用JavaBeans的Servlet
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用JavaBeans的Servlet,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4842字,纯文字阅读大概需要7分钟。
内容图文
我有一组三个servlet,每个servlet都有一个带有单选按钮的表单,它将其值传递给下一个servlet.我想要做的是创建一个JavaBean类与servlet一起使用,并保持它们的状态以及从一个servlet到另一个servlet的单选按钮的选择.有人可以为JavaBean建议一些示例代码吗?
这是第一个servlet代码:
(其他两个servlet具有相同的其他问题代码)
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet 1</title>");
out.println("</head>");
out.println("<form id=\"form1\" action = \"Servlet2\" method = \"POST\">");
out.println("<input type = \"radio\" name = \"Q1\" value = \"Answer 1\"> Answer 1 <br />\n" +
"<input type = \"radio\" name = \"Q1\" value = \"Answer 2\"> Answer 2 <br />\n" +
"<input type = \"radio\" name = \"Q1\" value = \"Answer 3\"> Answer 3 <br /> <br />");
out.println("<input type = \"radio\" name = \"Q2\" value = \"Answer 1\"> Answer 1 <br />\n" +
"<input type = \"radio\" name = \"Q2\" value = \"Answer 2\"> Answer 2 <br />\n" +
"<input type = \"radio\" name = \"Q2\" value = \"Answer 3\"> Answer 3 <br /> <br />");
out.println("<input type = \"radio\" name = \"Q3\" value = \"Answer 1\"> Answer 1 <br />\n" +
"<input type = \"radio\" name = \"Q3\" value = \"Answer 2\"> Answer 2 <br />\n" +
"<input type = \"radio\" name = \"Q3\" value = \"Answer 3\"> Answer 3 <br /> <br />");
out.println("<input type = \"submit\" value = \"Next\">");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
谢谢.
解决方法:
这是一个简单的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
}
}
或者您可以使用Expression Language(EL)在某个JSP页面内检查bean,如下所示:
<%@ 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>
附:
读这个:
JavaBeans
JavaBeans Specification
Oracle’s JavaBeans tutorials
UPDATE
我建议你阅读这篇关于Servlets和JSP的流行教程,以进一步提高你的技能:
Beginning & Intermediate Servlet & JSP Tutorials
内容总结
以上是互联网集市为您收集整理的使用JavaBeans的Servlet全部内容,希望文章能够帮你解决使用JavaBeans的Servlet所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。