JSP(6)简单购物车实现

article/2025/10/17 23:03:45

两个jsp页面之间跳转需要通过Servlet控制器实现

1 创建数据库表

-- 创建一个序列,使book的id自增长
create sequence book_seq 
start with 1
increment by 1
minvalue 1
maxvalue 99999999999999
nocycle
nocache
-- 创建一个序列,使orders的id自增长
create sequence orders_seq
start with 1
increment by 1
minvalue 1
maxvalue 9999999999
nocycle
nocache-- 用户表
create table user_(id number primary key,name varchar2(50) not null,pwd varchar2(50) not null,email varchar2(100) not null,tel varchar2(20) not null,grade number(2) default 1 not null
)insert into user_ values(100, 'jiaozl', '111', 'jiaozl@qq.com', '110', 1);
insert into user_ values(101, 'xiaoming', '111', 'xiaoming@qq.com', '120', 1);
insert into user_ values(102, '小红', '111', 'xiaohong@qq.com', '130', 1);-- 商品表
create table book(id number primary key,name varchar2(50) not null,author varchar2(50) not null,publishHouse varchar2(100) not null,price number not null,nums number default 1000 not null
)insert into book values(book_seq.nextval, 'jsp应用开发详解', '小风', '电子工业出版社', 59, 100);
insert into book values(book_seq.nextval, 'java web服务开发', '谭美君', '电子工业出版社', 45, 100);
insert into book values(book_seq.nextval, 'Java编程思想', '小红', '机械工业出版社', 99, 100);
insert into book values(book_seq.nextval, 'jsp编程指南', '王芳', '电子工业出版社', 19, 1000);
insert into book values(book_seq.nextval, 'j2ee 1.4应用开发详解', '小贱', '电子工业出版社', 68, 100);
insert into book values(book_seq.nextval, 'j2ee企业级应用开发', '小菲', '电子工业出版社', 56, 1000);
insert into book values(book_seq.nextval, 'j2ee参考手册', '小风', '电子工业出版社', 56, 1000);
insert into book values(book_seq.nextval, 'j2ee web服务开发', '顺平', '电子工业出版社', 550, 100000);-- 订单表
-- 设计思路:为了避免数据冗余,我们把公有的信息,抽取出来创建一个单独的表,把不共有的信息,建一张单独表。
create table orders(id number primary key,userId number references user_(id),totalPrice number default 0 not null,orderDate date default sysdate not null
)
create table ordersItem(id number primary key,ordersId number references orders(id),bookId number references book(id),bookNum number default 0 not null
)

2 创建login、hall、showCart等jsp页面

通过Servlet控制器实现业务化跳转
这里写图片描述这里写图片描述
这里写图片描述

<body><h1>登录界面</h1><form action="/myshopping/GotoHallUI" method="post"><table border="1"><tr><td>用户名</td><td><input type="text" name="username" /></td></tr><tr><td>密     码</td><td><input type="password" name="passwd" /></td></tr><tr><td><input type="submit" value="登录" /></td><td><input type="reset" value="清空重输" /></td></tr></table></form></body>
<body><h1>欢迎访问购物大厅</h1><table border="1"><tr><th>书名</th><th>价格</th><th>出版社</th><th>点击购买</th></tr><% ArrayList<Book> books = (ArrayList<Book>) request.getAttribute("books"); for(int i =0; i<books.size(); i++ ) {Book book = books.get(i);%><tr><td><%=book.getName() %></td><td><%=book.getPrice() %></td><td><%=book.getPublishHouse() %></td><td><a href="#">购买</a></td></tr><%}%><tr><td colspan="4"><input type="button" value="查看购物车" /></td></tr></table><a href="/myshopping">返回重新登录</a>
</body>
<body><h1>我的购物车</h1><a href="/myshopping/GotoHallUI"> 返回购物大厅    </a><form action="/myshopping/ShoppingClServlet?type=update&" method="post"><table border="1" style="border-collapse: collapse; width: 600px; "><tr><th>bookID</th><th>书名</th><th>价格</th><th>出版社</th><th>数量</th><th>删除</th></tr><%ArrayList<Book> books = (ArrayList<Book>) request.getAttribute("books");for(int i=0; i<books.size(); i++) {Book book = books.get(i);%><tr><%-- 提交表单时,获取表格中信息 --><td><%=book.getId() %><input type="hidden" name="id" value="<%=book.getId() %>" /></td><td><%=book.getName() %></td><td><%=book.getPrice() %></td><td><%=book.getPublishHouse() %></td><td><input type="text" name="booknum" value="<%=book.getShoppingNum() %>" /></td><td><a href="/myshopping/ShoppingClServlet?type=del&id=<%=book.getId() %>">删除</a></td></tr><%}%><tr><td colspan="6"><input type="submit" value="update" ></td></tr><tr><td colspan="6">购物车的总价格:${ totalPrice } 元</td></tr> </table></form>
</body>

3 GotoHallUI 实现login.jsp—->hall.jsp

package com.test.controller;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import com.test.domain.Users;
import com.test.service.UserService;
public class GotoHallUI extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html; charset=utf-8");PrintWriter out = response.getWriter();// 取出从登陆页面传递的用户名和密码String uid = request.getParameter("uid");String p = request.getParameter("passwd");Users loginUser = new Users(Integer.parseInt(uid), p);UserService userService = new UserService();Boolean b = userService.checkUser(loginUser);if(b) {// 创建购物车MyCart mycart = new MyCart();// 在哪里都能访问到request.getSession().setAttribute("mycart", mycart);// 获取书籍信息BookService bookService = new BookService();ArrayList<com.test.domain.Book> books = bookService.getAllBook();request.setAttribute("books", books);// 跳转request.getRequestDispatcher("WEB-INF/hall.jsp").forward(request, response);;} else {request.getRequestDispatcher("WEB-INF/login.jsp").forward(request, response);;}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doGet(request, response);}
}

http://chatgpt.dhexx.cn/article/l3V0SawJ.shtml

相关文章

用JSP实现的商城购物车模块

这两天&#xff0c;在学习JSP&#xff0c;正好找个小模块来练练手&#xff1a; 以下就是实现购物车模块的页面效果截图&#xff1a; 图1. 产品显示页面 通过此页面进行产品选择&#xff0c;加入到购物车 图2 .购物车页面 图3 . 商品数量设置 好了&#xff0c;先不贴图了&#x…

项目-Java Web购物车-JSP实现

文章目录 源码地址界面演示目录结构准备工作登录注册功能定义DaoBaseDaoProductDaoImp 定义EntityProductCartItem 商品列表与详情界面★购物车页面更多 源码地址 点击文章底部打赏后私信发送源码地址 界面演示 介绍(旧) 浏览器打开http://localhost:8080/ShopCart/login.j…

jsp购物车(session版)

目录 一、要用到的 js 和 css 文件 二、数据库表实体类Dao类 1、数据库表 2、实体类 3、Dao类方法(GoodsDao) 四、商品主页面&#xff08;index.jsp&#xff09; 1、代码分析 2、完整代码 五、购物车页面&#xff08;spcar.jsp&#xff09; 1、代码分析 2、完整代码 3、删除…

jsp实现购物车

文章目录 一、案例演示二、实现步骤1.info.jsp2.UserServlet3.cart.jsp4.UserServlet 一、案例演示 点击购买进入到购物车页面&#xff0c;增加减少数量都会对小计&#xff0c;总计产生影响&#xff0c;点击继续购买&#xff0c;回到挑选页面product_list.jsp 二、实现步骤 …

图像识别技术

图像识别算法实现收藏 <script type"text/javascript"></script> <script></script> 以往的图像处理函数实现&#xff0c;多是针对图像句柄。算法实现 需要操作复杂的图像文件。 但是&#xff0c;这种方式算法实现和调试的周期比较长。为了加…

神经网络图像识别算法,神经网络提取特征值

哪些神经网络可以用在图像特征提取上 BP神经网络、离散Hopfield网络、LVQ神经网络等等都可以。 1.BP&#xff08;BackPropagation&#xff09;神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出&#xff0c;是一种按误差逆传播算法训练的多层前馈网络&#xff0c;…

基于神经网络的图像识别

一、目的 1. 了解深度学习的基本原理&#xff1b; 2. 能够使用 PaddleHub 深度学习开源工具进行图像识别&#xff1b; 3. 能够使用 PaddlePaddle 训练神经网络模型&#xff1b; 4. 能够使用 Paddle 完成手写实验. 5. 能够使用 keras 训练神经网络模型。 二、环境配置&#xff1…

机器学习决策树算法解决图像识别

算法介绍 什么是决策树算法 决策树又称判定树&#xff0c;是一个类似于流程图的树结构&#xff1a;其中&#xff0c;每个内部结点表示在一个属性上的测试&#xff0c;每个分支代表一个属性输出&#xff0c;而每个树叶结点代表类或类分布。树的最顶层是根结点。 构造决策树的基…

opencv 图像识别

opencv的目标是使计算机可以快速准确地从数字图像中提取和分析特征。它使用了许多新的算法和技术&#xff0c;例如改进的模板匹配、基于统计的特征分析以及深度学习等。opencv支持多种平台&#xff0c;包括 Windows、 MacOS、 Linux和 Android&#xff0c;开发者可以使用 OpenC…

图像识别算法(二)

一、线性分类器 线性分类器&#xff08;Linear Classification&#xff09;是比KNN分类器更有效的一种分类器。这个方法有两个重要的部分&#xff1a;分数函数&#xff08;score function&#xff09;和损失函数&#xff08;loss function&#xff09;。分数函数是江原始数据匹…

基于KNN算法的图像识别

你需要完成一个图像识别的任务&#xff0c;主要使用的模型是KNN算法。使用的数据集是cifar-10&#xff0c;是图像识别领域最为经典的数据及之一。具体的数据可以从以下的链接下载&#xff1a; https://www.cs.toronto.edu/~kriz/cifar.html&#xff0c; 下载之后把是数据集解压…

opencv图像算法

图像的对比度增强 一&#xff1a; 绘制直方图 就是把各个像素值所含有的个数统计出来&#xff0c;然后画图表示。 可以看到在当前图像中&#xff0c;哪个像素值的个数最多。 同时&#xff0c;可以看当前图像总体的像素值大小在哪些范围。。靠近0的话&#xff0c;说明图像偏暗…

图像识别中的深度学习

图像识别中的深度学习 来源&#xff1a;《中国计算机学会通讯》第8期《专题》 作者&#xff1a;王晓刚 深度学习发展历史 深度学习是近十年来人工智能领域取得的重要突破。它在语音识别、自然语言处理、计算机视觉、图像与视频分析、多媒体等诸多领域的应用取得了巨大成功。现有…

图像识别

图像识别主要用到了两个第三方的iOS框架&#xff1a;OpenCV和TesseractOCR&#xff0c;OpenCV用来做图像处理&#xff0c;定位到身份证号码的区域&#xff0c;TesseractOCR则是对定位到的区域内的内容进行识别。 OpenCV中的一些简单的处理图像的方法&#xff1a;灰度处理、二…

深度学习与图像识别 图像检测

主要做了基于深度学习的图像识别与检测的研究&#xff0c;下面是一些整理内容 1、深度学习的优势 &#xff08;1&#xff09;从统计&#xff0c;计算的角度看&#xff0c;DL特别适合处理大数据 a、用较为复杂的模型降低模型偏差 b、用大数据提升统计估计的准确度 c、用可扩展的…

人工智能-图像识别

图像识别技术是信息时代的一门重要的技术&#xff0c;其产生目的是为了让计算机代替人类去处理大量的物理信息。随着计算机技术的发展&#xff0c;人类对图像识别技术的认识越来越深刻。图像识别技术的过程分为信息的获取、预处理、特征抽取和选择、分类器设计和分类决策。简单…

神经网络图像识别算法,神经网络图像识别技术

目前进行图像处理,通常使用什么神经网络 谷歌人工智能写作项目&#xff1a;小发猫 数字图像处理的主要方法 数字图像处理的工具可分为三大类&#xff1a;第一类包括各种正交变换和图像滤波等方法&#xff0c;其共同点是将图像变换到其它域&#xff08;如频域&#xff09;中进…

人工智能中的图像识别技术

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 伴随着图像处理技术的飞速发展&#xff0c;推动了图像识别技术的产生和发展&#xff0c;并逐渐成为人工智能领域中重要的组成部分&#xff0c;并广泛地运用于面部识别、…

图像处理那些算法

图像的几何变换 1&#xff09;旋转 借助矩阵运算来实现图像的旋转功能 2&#xff09;平移 借助矩阵运算来实现图像的旋转功能 3&#xff09;对称 借助矩阵运算来实现图像的对称功能 水平镜像变换&#xff1a; 垂直镜像变换&#xff1a; 图片裁剪 借助 get (gca, ‘cu…

最新开源的图像识别算法来了!

Datawhale开源 方向&#xff1a;图像识别开源项目 人脸、车辆、人体属性、卡证、交通标识等经典图像识别能力&#xff0c;在我们当前数字化工作及生活中发挥着极其重要的作用。业内也不乏顶尖公司提供的可直接调用的API、SDK&#xff0c;但这些往往面临着定制化场景泛化效果不…