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
商品名称 商品单价 供货商 放入购物车
华为pro13 8888 华为 放入购物车
榴莲 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);
        }
    }


}

おすすめ

転載: blog.csdn.net/m0_46381590/article/details/121476801