栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Servlet】通过HttpSession实现Servlet之间数据共享(实现案例)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Servlet】通过HttpSession实现Servlet之间数据共享(实现案例)

通过HttpSession实现Servlet之间数据共享(实现案例) 前言

本文内容主要为【HttpSession实现Servlet之间数据共享】的案例代码与运行结果。关于Servlet之间数据共享的实现方案与HttpSession的详细内容可参考文章【多个Servlet之间数据共享实现方案】。本文为《多个Servlet之间数据共享实现方案》中第三节的代码实现部分。建议阅读本文前先去阅读《多个Servlet之间数据共享实现方案》。 一、项目运行环境

该项目使用idea编译器实现 1、Tomcat运行环境(Run=>Edit Configuration…)

2、运行所需的api(File=>Project Structure)

3、项目目录结构

二、源码解析 1、index.html



    
    购物商城


商品列表

商品名称 商品价格 厂家 操作
富光保温杯 90元/个 合肥富光工业园 添加到购物车
红富士苹果 8元/kg 湖北 添加到购物车
联想笔记本电脑 8000元/台 合肥市联想工业园 添加到购物车
我的购物车
2、OneServlet.java
package com.Etui.controller;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet(name = "OneServlet", value = "/one")
public class OneServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 读取参数
        String productName = request.getParameter("productName");

        // 创建箱子(回话)
        HttpSession productCart = request.getSession();
        Integer productNum = (Integer) productCart.getAttribute(productName);

        // 将商品添加到箱子
        if(productNum == null) {
            productCart.setAttribute(productName, 1);
        } else {
            productCart.setAttribute(productName, productNum + 1);
        }

        System.out.println(productName + "," + productCart.getAttribute(productName));
    }
}
3、TwoServlet.java
package com.Etui.controller;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

@WebServlet(name = "TwoServlet", value = "/two")
public class TwoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();

        // 调用请求对象,向Tomcat索要当前用户在服务器端私人储物柜
        HttpSession productCart = request.getSession();

        // 将session中所有的key读取出来,并存入一个枚举对象中
        Enumeration productNames = productCart.getAttributeNames();
//        System.out.print(productNames);
        if (productNames == null){
            out.print("购物车为空!");
        } else {
            out.print("购物车详情如下:");
            while(productNames.hasMoreElements()) {
                String productName = productNames.nextElement();
                out.print("商品名称:" + productName + ",商品数量:" + productCart.getAttribute(productName) + "");
            }
        }
    }
}
三、运行原理图

四、运行结果

HttpSession运行结果

Over!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/782738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号