两个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);}
}

JSP(6)简单购物车实现相关推荐

  1. 基于javaweb+JSP+Servlet简单购物车

    基于javaweb+JSP+Servlet简单购物车 开发工具:eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 public ...

  2. 美多商城之购物车(展示商品页面简单购物车)

    三.展示商品页面简单购物车 需求:用户鼠标悬停在商品页面右上角购物车标签上,以下拉框形式展示当前购物车数据. 3.1. 简单购物车数据接口设计和定义 1.请求方式 选项 方案 请求方法 GET 请求地 ...

  3. python编程超市购物系统_python实现简单购物车系统(练习)

    #!Anaconda/anaconda/python#coding: utf-8 #列表练习,实现简单购物车系统 product_lists= [('iphone',5000), ('computer ...

  4. jsp oracle 登录页面,Oracle数据库之ORACLE+Myeclipse+jsp实现简单登录功能

    本文主要向大家介绍了Oracle数据库之ORACLE+Myeclipse+jsp实现简单登录功能,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库表的建立: c ...

  5. JSP实现简单的登录页面实现及代码(非连接数据库)

    ** JSP实现简单的登录页面实现及代码(非连接数据库) ** 1.实现一个简单的登陆页面: 2.如果登陆成功,提示页面欢迎你,进入我的主页: 3.如果登陆不成功跳转到登陆页面: 4.使用固定用户名和 ...

  6. 阿语python美多商城-商品-购物车管理之第7.3节展示商品页面简单购物车

    展示商品页面简单购物车 需求:用户鼠标悬停在商品页面右上角购物车标签上,以下拉框形式展示当前购物车数据. 1. 简单购物车数据接口设计和定义 1.请求方式 选项 方案 请求方法 GET 请求地址 /c ...

  7. android 购物车实现,Android Studio实现简单购物车功能

    Android Studio实现简单购物车功能 发布时间:2020-08-30 17:23:56 来源:脚本之家 阅读:241 作者:攀岩嘉 本文实例为大家分享了Android九宫格图片展示的具体代码 ...

  8. 使用JSP实现简单的登录注册功能,并且使用Session跟踪用户登录信息

    使用JSP实现简单的登录注册功能,并且使用了Session来跟踪用户的登录信息,这个是用纯JSP来实现此功能的,由于没有连接数据库,所以使用List来模拟数据库. 第一步:创建web项目 如果有不会创 ...

  9. 使用Java+SSM框架+JSP开发简单在线电影推荐网 电影推荐系统 豆瓣电影爬虫 基于用户、物品的协同过滤推荐算法 大数据 机器学习 SimpleMovieRecommendOnline

    使用Java+SSM框架+JSP开发简单在线电影推荐网 电影推荐系统 豆瓣电影爬虫 基于用户.物品的协同过滤推荐算法 大数据 机器学习 SimpleMovieRecommendOnline 一.项目简 ...

  10. php简单的购物车,利用PHP实现一个简单购物车的demo示例代码

    利用PHP实现一个简单购物车的demo示例代码 数据结构跟关于PHP写购物车大体差不多,这里站长主要就购物车的主要业务逻辑进行一下说明: 1.用户未登陆时只能浏览商品,不能将其加入购物车 2.当未登陆 ...

最新文章

  1. 产品经理如何在技术人员面前更有说服力?
  2. MIT一招霸气颠覆传统:勇敢换导师,成本我买单,学生沸腾了
  3. Ruby BigDecimal库拒绝服务漏洞
  4. field property data type validation error in metadata
  5. 在RHEL5下实现RAID5磁盘阵列
  6. 《UNIXLinux程序设计教程》一2.1 UNIX 输入输出基本概念
  7. vue和java实现页面增删改_SpringBoot-Vue实现增删改查及分页小DEMO
  8. python扫雷游戏课程设计小组任务计划与分配表_python实现扫雷游戏
  9. vant toast loading 倒计时_日期倒计时软件哪个好 苹果日期倒计时软件推荐
  10. 855计算机应用基础,2017年曲阜师范大学信息技术与传播学院855计算机应用基础考研导师圈点必考题汇编...
  11. python切换虚拟环境和全局_为什么python虚拟环境启动后依然使用全局的python和pip...
  12. SSL/TLS 工具 OpenSSL
  13. python的copy模块是哪个模块_每周一个 Python 模块 | copy
  14. 使用Spring实现AOP(XML+注解)
  15. oracle池式连接超时,c# – Oracle Data Provider for .NET:连接请求超时
  16. 符号---Alt+数字键
  17. 树莓派配合迅雷搭建远程下载机
  18. 解决:Field xxMapper in xx.service.impl.xxServiceImpl required a bean of type 'xx.mapper.xxMapper'...
  19. activemq启动错误:ERROR | Temporary Store limit is 51200 mb, whilst the temporary data directory
  20. 安装windows和android双系统,真正的安卓Windows双系统,RemixOS Windows共存系统安装+附带ROOT+大分区...

热门文章

  1. php 扫描器源代码,php端口扫描器代码
  2. OD点击寄存器变色OD
  3. game design原理系列学习笔记(四)
  4. python飞机大战类_python微信飞机大战
  5. MongoDB的安装
  6. 开放源代码现象的经济基础
  7. 【数据分析】《深入浅出统计学》要点总结
  8. 使用Cisco Packet Tracer进行网络模拟
  9. 详解Guitar Pro 7导入吉他谱的步骤
  10. springboot+shiro中自定义session过期时间