session实现简单购物车

25 篇文章 0 订阅

一、实现思路

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;
    }
}




  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaWeb中,可以使用Session实现加入购物车的功能。下面是一个简单的示例代码来演示如何使用Session实现加入购物车的功能: 1. 首先,在购物车页面上,添加一个“加入购物车”的按钮或链接,点击该按钮时触发一个处理函数。 2. 在处理函数中,获取要添加到购物车商品信息。可以通过表单提交或Ajax等方式将商品信息传递给后台。 3. 在后台处理函数中,首先获取当前用户的Session对象。可以通过request.getSession()方法获取。 4. 判断Session中是否已经存在购物车对象。可以通过getSession().getAttribute("cart")方法获取购物车对象,如果为null,则说明购物车为空,需要创建一个新的购物车对象。 5. 将当前要添加的商品信息添加到购物车对象中,可以将商品信息封装成一个CartItem对象,包含商品ID、名称、价格等信息。 6. 将购物车对象存储到Session中,可以通过getSession().setAttribute("cart", cart)方法将购物车对象存储到Session中。 7. 返回给前台一个添加成功的提示信息,可以使用Ajax方式实现。 8. 在购物车页面中,可以通过Session中存储的购物车对象,将购物车中的商品信息展示出来。 以上就是使用Session实现加入购物车的基本步骤。需要注意的是,使用Session来存储购物车信息需要考虑并发访问的情况,可以使用同步机制或者使用分布式Session来解决并发访问的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值