JavaWeb_Session实现简易购物车

效果图如下:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
实现方法如下:
这里写图片描述
具体代码如下:
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");
    }

}
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值