一、实现思路
1、step1.jsp
实现一个表单,选择要购买的书籍 action=processStep1
2、ProcessStep1Servlet.java
获取step1的数据,重定向到step2
3、step2.jsp
实现一个表单填写用户信息 action=processStep2
4、ProcessStep2Servlet.java
获取step2的数据,重定向到 confirm
5、confirm.jsp
显示所有的信息
6、Customer类
由于step2中填写用户信息需要一个一个获取太烦啦,所以将用户的属性封装到用户类里面
二、实现
1、step1.jsp
<body>
<form action="<%=request.getContextPath()%>/processStep1" method="post">
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<td>书名</td>
<td>购买</td>
</tr>
<tr>
<td>《JSP》</td>
<td><input type="checkbox" name="book" value="《JSP》" /></td>
</tr>
<tr>
<td>《SERVLET》</td>
<td><input type="checkbox" name="book" value="《SERVLET》" /></td>
</tr>
<tr>
<td>《J2EE》</td>
<td><input type="checkbox" name="book" value="《J2EE》" /></td>
</tr>
<tr>
<td>《MYSQL》</td>
<td><input type="checkbox" name="book" value="《MYSQL》" /></td>
</tr>
<tr>
<td>《ANDROID》</td>
<td><input type="checkbox" name="book" value="《ANDROID》" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="submit"/>
</td>
</tr>
</table>
</form>
</body>
2、ProcessStep1Servlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1、获取请求信息
request.setCharacterEncoding("UTF-8");
String [] books=request.getParameterValues("book");
//2、将购书信息放入到session中
request.getSession().setAttribute("books",books);
//3、页面重定向到step2.jsp
response.sendRedirect(request.getContextPath()+"/shoppingcart/step2.jsp"); //写绝对路径防止找不到
}
3、step2.jsp
<body>
<h3>输入个人信息:</h3>
<form action="<%=request.getContextPath()%>/processStep2" method="post">
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">寄送信息</td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>地址:</td>
<td><input type="address" name="address" /></td>
</tr>
<tr>
<td colspan="2">付款信息</td>
</tr>
<tr>
<td>付款种类:</td>
<td><input type="radio" name="payType" value="微信" />微信
<input type="radio" name="payType" value="支付宝" />支付宝
<input type="radio" name="payType" value="银行卡" />银行卡</td>
</tr>
<tr>
<td>卡号:</td>
<td><input type="text" name="cartNumber" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="submit"/>
</td>
</tr>
</table>
</form>
</body>
4、ProcessStep2Servlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1、获取请求信息
request.setCharacterEncoding("UTF-8");
String name=request.getParameter("name");
String address=request.getParameter("address");
String payType=request.getParameter("payType");
String cartNumber=request.getParameter("cartNumber");
Customer customer=new Customer(name,address,payType,cartNumber);
//2、将购书信息放入到session中
HttpSession session=request.getSession();
session.setAttribute("customer",customer);
//3、页面重定向到confirm.jsp
response.sendRedirect(request.getContextPath()+"/shoppingcart/confirm.jsp"); //写绝对路径防止找不到
}
5、confirm.jsp
<body>
<h3>核对个人信息:</h3>
<%
Customer customer= (Customer) session.getAttribute("customer");
String [] books= (String[]) session.getAttribute("books");
%>
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">寄送信息</td>
</tr>
<tr>
<td>姓名:</td>
<td><%=customer.getName()%></td>
</tr>
<tr>
<td>地址:</td>
<td><%=customer.getAddress()%></td>
</tr>
<tr>
<td colspan="2">付款信息</td>
</tr>
<tr>
<td>付款种类:</td>
<td><%=customer.getPayType()%></td>
</tr>
<tr>
<td>卡号:</td>
<td><%=customer.getCartNumber()%></td>
</tr>
<tr>
<td colspan="2">购书:</td>
</tr>
<tr>
<td colspan="2">
<%
for (String book :books){
out.println(book);
}
%>
</td>
</tr>
</table>
</body>
6、Customer类
public class Customer {
private String name;
private String address;
private String payType;
private String cartNumber;
public Customer(String name, String address, String payType, String cartNumber) {
this.name = name;
this.address = address;
this.payType = payType;
this.cartNumber = cartNumber;
}
public Customer() {
}
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public String getPayType() {
return payType;
}
public String getCartNumber() {
return cartNumber;
}
public void setName(String name) {
this.name = name;
}
public void setAddress(String address) {
this.address = address;
}
public void setPayType(String payType) {
this.payType = payType;
}
public void setCartNumber(String cartNumber) {
this.cartNumber = cartNumber;
}
}