效果图如下:
实现方法如下:
具体代码如下:
step-1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>step-1</title>
</head>
<body>
<h2>step-1: 选择要购买的图书</h2>
<form action="<%=request.getContextPath() %>/processStep1" method="post">
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<td>书名</td>
<td>购买</td>
</tr>
<tr>
<td>Java</td>
<td><input type="checkbox" name="book" value="Java"/></td>
</tr>
<tr>
<td>Oracle</td>
<td><input type="checkbox" name="book" value="Oracle"/></td>
</tr>
<tr>
<td>Structs</td>
<td><input type="checkbox" name="book" value="Structs"/></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Submits"/>
</td>
</tr>
</table>
</form>
</body>
</html>
step-2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>step-2</title>
</head>
<body>
<h2>Step-2: 请输入寄送地址和信用卡信息</h2>
<form action="<%=request.getContextPath() %>/processStep2" method="post">
<table cellpadding="10" cellspacing="0" border="1">
<tr>
<td colspan="2">寄送地址</td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>寄送地址</td>
<td><input type="text" name="address"/></td>
</tr>
<tr>
<td colspan="2">信用卡信息</td>
</tr>
<tr>
<td>种类</td>
<td>
<input type="radio" name="cardType" value="Visa"/>Visa
<input type="radio" name="cardType" value="Master"/>Master
</td>
</tr>
<tr>
<td>卡号</td>
<td>
<input type="text" name="card"/>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
</body>
</html>
confirm.jsp
<%@page import="com.chance.javaweb.Customer"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Customer customer = (Customer)session.getAttribute("customer");
String [] books = (String [])session.getAttribute("books");
%>
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<td>顾客姓名:</td>
<td><%=customer.getName() %></td>
</tr>
<tr>
<td>地址:</td>
<td><%=customer.getAddress() %></td>
</tr>
<tr>
<td>卡的种类:</td>
<td><%=customer.getCardType() %></td>
</tr>
<tr>
<td>卡号:</td>
<td><%=customer.getCard() %></td>
</tr>
<tr>
<td>Books:</td>
<td>
<%
for(String book:books){
out.print(book);
out.print("<br>");
}
%>
</td>
</tr>
</table>
</body>
</html>
Customer.java
package com.chance.javaweb;
public class Customer {
private String name;
private String address;
private String cardType;
private String card;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCardType() {
return cardType;
}
public void setCardType(String cardType) {
this.cardType = cardType;
}
public String getCard() {
return card;
}
public void setCard(String card) {
this.card = card;
}
public Customer(String name, String address, String cardType, String card) {
super();
this.name = name;
this.address = address;
this.cardType = cardType;
this.card = card;
}
public Customer() {
}
}
ProcessStep1Servlet.java
package com.chance.javaweb;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ProcessStep1Servlet
*/
@WebServlet({ "/ProcessStep1Servlet", "/processStep1" })
public class ProcessStep1Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.获取选中的图书信息
String [] books = request.getParameterValues("book");
//2.把图书信息放入到httpsession中
request.getSession().setAttribute("books", books);
//3.重定向到shoppingcar/step-2.jsp
System.out.println(request.getContextPath() + "/shoppingcar/step-2.jsp");
response.sendRedirect(request.getContextPath() + "/shoppingcar/step-2.jsp");
}
}
ProcessStep2Servlet.java
package com.chance.javaweb;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class ProcessStep2Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.获取请求参数name address cardType card
String name = request.getParameter("name");
String address = request.getParameter("address");
String cardType = request.getParameter("cardType");
String card = request.getParameter("card");
Customer customer = new Customer(name, address, cardType, card);
//2.把请求信息存入到httpsession中
HttpSession session = request.getSession();
session.setAttribute("customer", customer);
//3.重定向到confirm.jsp页面
response.sendRedirect(request.getContextPath() + "/shoppingcar/confirm.jsp");
}
}