实现要求:
(a)输入要购买的商品

(b)点击提交按钮后

(c)结账页面将所选择的商品全部列出

代码实现:

b9_shopping.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><form action="_b9_shopping_sent.jsp" method="post"><h2>请输入要购买的商品:<input type="text" name="book"><input type="submit" name="sent" value="提交"></h2>
</form></body>
</html>

_b9_shopping_sent.jsp:

<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><style>span{color: red;}form{margin-left: 120px;}</style><%!ArrayList<String> list = new ArrayList<String>();
%><%request.setCharacterEncoding("utf-8");String  book = request.getParameter("book");list.add(book);session.setAttribute("books", list);
%><h4>提示:您刚才选择了商品<span><%=book %></span>,请问,你还想做什么?<br></h4><form action="_b9_shopping_.jsp" method="post" style="float:left;"><input type="submit" value="继续购买" name="continue">         </form><form action="_b9_shopping_show.jsp" method="post"><input type="submit" value="结账" name="final">                </form></body>
</html>

说明:
这里使用了ArrayList集合,这是因为最终要求把所购买的所有的商品都输出来,所以有多个值
那为什么使用集合而不是用数组,因为集合长度可变,适合进行不断的添加

_b9_shopping_show.jsp:

<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><h2>非常感谢您的光临!您购买的商品有:</h2><br><%@SuppressWarnings("unchecked")//添加这个下面的ArrayList警告就会解除ArrayList<String> l = (ArrayList<String>)session.getAttribute("books");if(l!=null){for(int i = 0 ; i < l.size() ; i++){out.print("商品"+(i+1)+":"+l.get(i)+"<br>");}}
%></body>
</html>

注意:
对于上面的代码,有一个问题所在,就是当结账后,再次重新运行购买商品的时候,商品是在原本的基础上继续累加的
只需要将_b9_shopping_sent.jsp文件中的代码稍作修改即可:

<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><style>span{color: red;}form{margin-left: 120px;}</style><%request.setCharacterEncoding("utf-8");String  book = request.getParameter("book");if(book != null && book.length()!=0){        @SuppressWarnings("unchecked")//添加这个下面的ArrayList警告就会解除ArrayList<String> list = (ArrayList<String>)session.getAttribute("books");if(list == null){//books还不存在的时候list = new ArrayList<String>();list.add(book);session.setAttribute("books", list);}else{list.add(book);session.setAttribute("books", list);}}else{//如果为空,让用户返回重新输入response.sendRedirect("_b9_shopping_.jsp");}
%><h4>提示:您刚才选择了商品<span><%=book %></span>,请问,你还想做什么?<br></h4><form action="_b9_shopping_.jsp" method="post" style="float:left;"><input type="submit" value="继续购买">        <!-- 跳转的时候可以在input框中直接加name="continue" οnclick="localtion.href='_b9_shopping_.jsp'"属性 -->    </form><form action="_b9_shopping_show.jsp" method="post"><input type="submit" value="结账" name="final">                </form></body>
</html>

_b9_shopping_show.jsp:也需要做一些修改

<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><h2>非常感谢您的光临!您购买的商品有:</h2><br><%@SuppressWarnings("unchecked")//添加这个下面的ArrayList警告就会解除ArrayList<String> l = (ArrayList<String>)session.getAttribute("books");if(l!=null){for(int i = 0 ; i < l.size() ; i++){out.print("商品"+(i+1)+":"+l.get(i)+"<br>");}session.setAttribute("books", null);}
%></body>
</html>

说明:
在原本的基础之上,又添加了if语句进行判断
当浏览器完全结束运行时,此时的session就已经结束了
所以,重新运行的时候,就不会再在原本的基础上就行累加

jsp实现简易购物车相关推荐

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

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

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

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

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

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

  4. Session机制二(简易购物车案例)

    一:案例一(简易购物车) 1.目录结构 2.step1.jsp 1 <%@ page language="java" contentType="text/html; ...

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

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

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

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

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

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

  8. web快速入门之基础篇-js:3_3、简易购物车

    目录 一.前言 二.js代码实例演示 1.简易购物车01_数量变化 (1)实例代码 (2)效果演示 2.简易购物车02_数量价格同步 (1)实例代码 (2)效果演示 一.前言 上一篇介绍了DHTML对 ...

  9. php购物车页面如何做,HTML代码实现简易购物车

    网上关于购物车实现的代码非常多,本次的这篇文章主要是和大家分享了HTML代码实现简易购物车,有需要的小伙伴可以看一下,接下来讲解一下具体的实现. 1.用html实现内容: 2.用css修饰外观: 3. ...

  10. Vue3简易购物车--添加和删除商品,计算购买商品总价

    简易购物车 文章目录 简易购物车 v-model双向数据绑定 && 表单提交 计算属性computed v-for渲染数据和标签 添加和删除功能 效果图: v-model双向数据绑定 ...

最新文章

  1. 【全新打造】思科认证跟踪系统考试注册教程(08.8.30)附word文件下载
  2. 算法7-10:拓扑排序
  3. dbgrideh 为什么只一行_Mysql性能优化:为什么count(*)这么慢?
  4. python print 变量_Python之print()函数与变量
  5. SQL中的条件语句case-when-then-else(就像C中的switch case语句)
  6. JZOJ5918【NOIP2018模拟10.20】Car
  7. oracle 11g12c(pdbcdb)系统巡检
  8. Vertica系列:从一些细节看Vertica为什么是一个优秀的数据仓库平台
  9. 对话框应用程序的DoModal()源代码
  10. c语言单片机题目设计大全,51单片机毕业设计题目.docx
  11. 基于pytorch计算ssim和ms-ssim
  12. Arduino Mega2560引脚说明以及功能剖析
  13. curl命令详解 (实例使用方法)
  14. 最优化理论与方法-第二讲-凸集
  15. 机器学习、计算机视觉面经整理(持续完善整理中……)
  16. unity 景深效果
  17. 开发保密的计算机应用系统时 研制人员,计算机考试题库:计算机基础练习题(19)...
  18. k-means算法实际应用
  19. 图新地球:如何添加视频到地图上,点击直接播放,汇报更顺畅
  20. 【AJAX】AJAX技术详细解析以及实例

热门文章

  1. Microsoft Office Visio 2007 下载安装密钥
  2. 计算机二级vfp教程云盘,全国计算机等级考试二级VFP教程.doc
  3. Officescan 常用的端口
  4. linux之ext、ext1、ext2、ext3、ext4文件系统的区别及常用命令
  5. PPC软件测试自学,一个成功的PPC广告活动所需的五个步骤
  6. discuz admin.php无法登录,Discuz x3.1论坛管理员无法登录后台的各种解决方法总结
  7. “跟技术Leader聊了10分钟,我就猜到下周要发生重大宕机事故!”
  8. excel服务器2010网站,勤哲Excel服务器2010高级企业版完整安装包
  9. matlab钢琴音教程,弹琴吧 - 今天聊一聊钢琴扒带及MIDI制作,使用音
  10. 去空格 html,javascript怎么去空格?