Servlet学习之HttpSession--购物车原理

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table border="2" align="center">
  <tr>
    <td>商品名称</td>
    <td>商品单价</td>
    <td>供货商</td>
    <td>放入购物车</td>
  </tr>
  <tr>
    <td>华为pro13</td>
    <td>8888</td>
    <td>华为</td>
    <td><a href="/myWeb/one?goodsName=华为pro13">放入购物车</a></td>
  </tr>
  <tr>
    <td>榴莲</td>
    <td>88</td>
    <td>泰国</td>
    <td><a href="/myWeb/one?goodsName=榴莲">放入购物车</a></td>
  </tr>
  <tr>
    <td>内裤</td>
    <td>8</td>
    <td>老鸭</td>
    <td><a href="/myWeb/one?goodsName=内裤">放入购物车</a></td>
  </tr>
  <tr align="center">
    <td colspan="4">
      <a href="/myWeb/two">查看我的购物车</a>
    </td>
  </tr>

</table>





</body>
</html>

样式

Title
商品名称商品单价供货商放入购物车
华为pro138888华为放入购物车
榴莲88泰国放入购物车
内裤8老鸭放入购物车
查看我的购物车

WEB-XML

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
         version="5.0">
    <servlet>
        <servlet-name>oneServlet</servlet-name>
        <servlet-class>oneServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>TwoServlet</servlet-name>
        <servlet-class>TwoServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>TwoServlet</servlet-name>
        <url-pattern>/two</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>oneServlet</servlet-name>
        <url-pattern>/one</url-pattern>
    </servlet-mapping>
</web-app>

oneServlet

import jakarta.servlet.*;
import jakarta.servlet.http.*;

import java.io.IOException;

public class oneServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String goodsName=request.getParameter("goodsName");
        //2、调用请求对象,向Tomcat索要当前用户在服务端的私人储物柜
        System.out.println(goodsName);
        HttpSession session=request.getSession();
        //3、将用户选购商品添加到当前用户私人储物柜
        Integer goodsNum=(Integer) session.getAttribute(goodsName);
        if (goodsNum==null){
            session.setAttribute(goodsName,1);
        }else{
            session.setAttribute(goodsName,goodsNum+1);
        }
    }


}

TwoServlet

import jakarta.servlet.*;
import jakarta.servlet.http.*;

import java.io.IOException;
import java.util.Enumeration;

public class TwoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();
        System.out.println("999");
        Enumeration goodsNames = session.getAttributeNames();
        while(goodsNames.hasMoreElements()){
            String goodsName = (String) goodsNames.nextElement();
            int  goodsNum =   (int)session.getAttribute(goodsName);
            System.out.println("商品名称:" + goodsName + "个数" + goodsNum);
        }
    }


}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值