目录

  • 项目介绍
  • 遇到的问题
  • 主要页面展示
  • 主要页面代码展示
    • 1.Show.jsp
    • 2.Cart.jsp
  • 临别赠言

项目介绍

同上一篇参考着JSP程序设计教程(第二版)教材完成了简易购物车的功能实现,在此对期间遇到的问题及部分页面展示如下

遇到的问题

期间在购物车展示页面计算显示单个商品的金额时候遇到了浮点数相乘结果保留小数位数的问题,理论上3.0*2.8结果应该为8.4,但未进行小数位数保留时候在页面计算显示出来的结果却为8.39999999999,猜测其原因可能是因为计算机对数据的处理与我们数学计算的方式不太一样导致。处理前代码如下:

Double money=num*1.0*price;    // 2.8*3.0结果得到8.399999999999
sum+=money;//计算应付金额

特对此进行了保留两位小数的处理,采用的保留两位小数方式如下:

String money=new DecimalFormat("#.00").format(num*1.0*price);//保留两位小数
sum+=Double.parseDouble(money);//计算应付金额

这样,程序按照预计的结果输出了2.8*3.0的结果为8.40。

主要页面展示


主要页面代码展示

1.Show.jsp

<%@page import="Class.Good"%>
<%@page import="java.util.ArrayList"%>
<%@ 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>商城</title>
</head>
<body>
<%  ArrayList goods=(ArrayList)application.getAttribute("goods");
%>
<table border="1" width="450px" rules="none" cellspacing="0" cellpadding="0"><tr height="50px"><td colspan="3" align="center">提供商品如下</td></tr><tr align="center" height="20px" bgcolor="lightgrey"><td>名称</td><td>价格(元/斤)</td><td>购买</td></tr><% if(goods==null||goods.size()==0){ %><tr height="100px"><td colspan="3" align="center">没有商品可显示!</td></tr><% } else{for(int i=0;i<goods.size();i++){Good good=(Good)goods.get(i);%><tr height="50px" align="center"> <td><%=good.getName() %></td><td><%=good.getPrice() %></td><td><a href="DoCart?action=buy&id=<%=i%>">购买</a></td></tr><%}}%><tr height="50px"><td align="center" colspan="3"><a href="Cart.jsp">查看购物车</a></td></tr>
</table>
</body>
</html>

2.Cart.jsp

<%@page import="java.text.DecimalFormat"%>
<%@page import="Class.Good"%>
<%@page import="java.util.ArrayList"%>
<%@ 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>我的购物车</title>
</head>
<body>
<%ArrayList buylist=(ArrayList)session.getAttribute("buylist");//获取存储在session中的用户已买商品集合对象float sum=0;//存储应付金额
%>
<table border="1" width="450px" rules="none" cellspacing="0" cellpadding="0"><tr height="50px"><td align="center" colspan="5">购买的商品如下</td></tr><tr height="30px" bgcolor="lightgrey"><td width="25%" align="center">名称</td><td>价格(元/斤)</td><td>数量</td><td>总价(元)</td><td>移除(-1/次)</td></tr><% if(buylist==null||buylist.size()==0){ %><tr height="100px"><td align="center" colspan="5">购物车为空!</td></tr><% }else{for(int i=0;i<buylist.size();i++){Good good=(Good)buylist.get(i);String name=good.getName();//获取商品名称Double price=good.getPrice();//获取商品价格int num=good.getNum();//获取购买数量String money=new DecimalFormat("#.00").format(num*1.0*price);//保留两位小数sum+=Double.parseDouble(money);//计算应付金额//Double money=num*1.0*price;    // 2.8*3.0结果得到8.399999999999//sum+=money;//计算应付金额%><tr align="center" height="50px"><td><%=name %></td><td><%=price %></td><td><%=num %></td><td><%=money %></td><td><a href="DoCart?action=remove&name=<%=good.getName() %>">移除</a></td></tr><% }}%><tr align="center" height="50px"><td colspan="5">应付金额:<%=sum %></td></tr><tr align="center" height="50px"><td colspan="2"><a href="Show.jsp">继续购买</a></td><td colspan="3"><a href="DoCart?action=clear">清空购物车</a></td></tr>
</table>
</body>
</html>

临别赠言

人生天地间,忽如远行客;

且行且珍惜!!!

Servlet+JSP实现简易购物车功能相关推荐

  1. 【Vue案例】——实现简易购物车功能

    实现简易购物车功能 静态页面展示 商品详情页 购物车页面 购物车功能的实现 将商品添加至购物车 首先我们要在商品详情页为每一个商品的添加购物车按钮绑定一个点击事件,参数是该商品对象(将商品的所有属性包 ...

  2. Java servlet 实现的简易购物车

    首页 2.购买页 3.购物车页 1. 首页代码 发送一个post请求 <!DOCTYPE html><html lang="en"><head> ...

  3. javaweb练手项目jsp+servlet简易购物车系统

    简易购物车项目 这是一个用intellij IDEA做的简易的javaweb项目,开发环境使用的jdk1.8和tomcat8以及mysql数据库. 1.项目开发准备: 创建github仓库 项目框架搭 ...

  4. java购物车项目代码_javaweb练手项目jsp+servlet简易购物车系统

    简易购物车项目 这是一个用intellij IDEA做的简易的javaweb项目,开发环境使用的jdk1.8和tomcat8以及mysql数据库. 1.项目开发准备: 创建github仓库 项目框架搭 ...

  5. Servlet之session实践:session实现简易购物车

    文章目录 Servlet之session实践:session实现简易购物车 1 过程分析 1.1 Product类:存储商品信息 1.2 ShoppingItem类:存储购买条目信息 1.3 Shop ...

  6. java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  7. Android 中编写一个简易购物车,商品包括商品名称,单价,数量,可以对商品进行增删改查功能。(ArrayList,SQLite)

    Android 中编写一个简易购物车,商品包括商品名称,单价,数量,可以对商品进行增删改查功能.(ArrayList,SQLite) 布局(activity_main.xml): <?xml v ...

  8. java如何删除购物车里的商品_编写一个简易购物车,实现向购物车内添加商品,移除指定商品及清空购物车功能。...

    showp.jsp String path = request.getContextPath(); String basePath = request.getScheme()+"://&qu ...

  9. JSP | 简易购物车的实现

    本程序共包含四部分文件,只包含jsp文件,将java代码嵌入到jsp文件中实现: loginID.jsp.shop.jsp.food.jsp.count.jsp,分别实现的功能是输入ID页面.超链接功 ...

  10. 实验五 实现购物车功能(jsp+javabean+jdbc+mysql数据库)

    我把该实验的源码和数据库上传到了资源里,你们要的直接点击链接下载就行,如果链接被吞,麻烦评论我一下,我在再次上传. https://download.csdn.net/download/fenger_ ...

最新文章

  1. 【MySQL】ubuntu16.04安装mysql,然后源码编译Qt5.12.4版本的libqsqlmysql.so
  2. eruda/vconsole 手机端调试利器
  3. Shell编程之条件语句(if语句,case分支语句)
  4. 一个穷人是从什么时候开始有钱的?
  5. 大型网站架构系列:电商网站架构案例(1)
  6. 【数据结构和算法笔记】:树的概念和性质总结
  7. learning-oracle-how2j
  8. jQuery源码解析
  9. 冈萨雷斯 数字图像处理 插图 打包下载 原tif版 + png版
  10. 服务器有些系统更新不能卸载,微软 Win10 更新 KB4577586 发布:永久删除 Adobe Flash Player,补丁无法卸载...
  11. python调用百度地图,通过经纬度定位
  12. (个人解题思路系列)五子棋
  13. PS纳米纤维膜 聚苯乙烯 纤维直径500-2000nm
  14. 科研——多问、多交流
  15. 如何在完全不懂服务器开发的情况下做一个实时联网对战的微信小游戏
  16. 天威TM1668芯片官方资料,讲解,代码,自己写的例程
  17. PTA 一维数组 7-3 删除指定数据
  18. 少年碎碎念:《追飞机的人》
  19. Vue动态修改网页浏览器标签的标题和图标
  20. graphpad如何检测方差齐_看过来!GraphPad软件中的单因素方差分析这样用

热门文章

  1. VOS防止盗打及后门的安全策略
  2. 统一管理所有随机启动的应用程序
  3. linux之ext、ext1、ext2、ext3、ext4文件系统的区别及常用命令
  4. 计算机毕业设计Java宠物医院管理系统(源码+系统+mysql数据库+lw文档)
  5. VMware利用unlocker开启MacOS支持
  6. 在线SEO外链工具源代码
  7. JanusGraph学习手册
  8. winpe iso镜像下载(exe转iso获取)
  9. excel服务器模板修改,勤哲Excel服务器设计查询模板
  10. IE11降级为IE8的方法