使用JSP做购物车一(实现)
来源:互联网 发布:郑亚旗 知乎 编辑:程序博客网 时间:2024/06/05 04:36
按照上篇文章的分析来具体实现:
定义所需包名来分工:
功能一:显示所有图书:
1、数据层:用双列集合来保存数据,用静态方法来添加数据里嵌套Book类(在实体类包domain里来创建,代码在下面)的构造方法,
public class DB {private static Map<String,Book> map=new LinkedHashMap<String,Book>();static{map.put("1", new Book("1","java","A",20));map.put("2", new Book("2","c++","B",21));map.put("3", new Book("3","PHP","C",22));map.put("4", new Book("4",".NET","D",23));map.put("4", new Book("5","Python","E",23));map.put("6", new Book("6","C#","F",23));}
/*按照实施过程来创建查找方法,通过类名来调用该静态方法。返回map对象。即上篇文章的
实施过程,可返回参考*/
//注意map的key和value对应public static Map<String,Book> findAllBook(){return map;}public static Book findBookById(String id){return DB.findBookById(id);}}
2、实体层
public class Book {private String id;private String name;private String author;private double price;private int num=1;public Book() {}
//即对应DB类里的new Book("1","java","A",20)public Book(String id, String name, String author, int price) {super();this.id = id;this.name = name;this.author = author;this.price = price;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public double getPrice() {return price;}public void setPrice(int price) {this.price = price;}}
3、访问层//访问层/持久层public class BookDao {//查询所有的图书private DB db=new DB();public Map<String,Book> findAllBook(){return DB.findAllBook();}public static Book findBookById(String id){return DB.findBookById(id);}}
4、业务层public class BookService {private BookDao bookDao = new BookDao();// 查询所有图书public Map<String, Book> findAllBook() {return bookDao.findAllBook();}// 购买图书public void buyBook(String id, Car car) {// 取得图书列表Map<String, Item> map = car.getMap();// 根据id获得图书Item item = map.get(id);if (item == null) {Book book = bookDao.findBookById(id);// 加入购物车item = new Item();// Book book =new Book();item.setBook(book);item.setNum(1);map.put(id, item);} else {item.setNum(item.getNum() + 1);}}public void deleteBook(String id, Car car) {Map<String, Item> map = car.getMap();map.remove(id);}public void clearCar(Car car) {Map<String, Item> map = car.getMap();map.clear();}public void updateBook(String id, int num, Car car) {Map<String, Item> map = car.getMap();Item item = map.get(id);item.setNum(num);}}
5、控制层
public class ListBookServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {BookService bookservice=new BookService();Map<String,Book> map=bookservice.findAllBook();request.setAttribute("map", map);//请求转发:request.getRequestDispatcher("/view/listAllBook.jsp").forward(request, response);}}
6、显示层
listAllBook.jsp
<html><body><table border="1" align="center" width="80%"><caption>图书列表</caption><tr><th>编号</th><th>书名</th><th>作者</th><th>单价</th></tr><c:forEach var="entry" items="${map}"><tr><td>${entry.value.id}</td><td>${entry.value.name}</td><td>${entry.value.auther}</td><td>${entry.value.price}</td><td><a style="text-decoration:none"href="BuyServlet?id=${entry.value.id}">购买</a></td></tr></c:forEach></table></body></html>
0 0
- 使用JSP做购物车一(实现)
- 使用JSP做购物车(分析设计)
- JSP 购物车实现
- 手把手做一个JSP入门程序(九):购物车的基本实现(Servlet)
- JSP(6)简单购物车实现
- JSP实例一、购物车
- Servlet/Jsp实现购物车
- 使用Ajax实现JSP购物车功能原理
- 使用Ajax实现JSP购物车功能原理
- 购物车实现原理(一)
- session的典型案例一:使用session实现购物车
- AngularJS实现购物车(一)
- jsp电子商务 购物车实现之三 购物车
- jsp购物车(mvc)
- jsp+javaBean购物车的实现
- 购物车的实现(jsp+servlet)
- jsp+javaBean购物车的实现
- Servlet+jsp实现简单购物车
- 代码高亮输入框实现
- Android 快速开发系列 打造万能的ListView GridView 适配器
- 检查集群内节点是否能ping通的脚本
- java数据库连接池druid介绍
- 《C#精彩实例教程》小组阅读11 -- C#结构与类
- 使用JSP做购物车一(实现)
- 由沉浸式状态栏引发的血案
- android OutputStream向sd卡中文件写入操作立即关机数据清0问题
- boost::filesystem指南
- Shader(着色器)相关介绍
- exercise 42 继承 包含 对象和类
- SSH网上商城--问题汇总
- JAVA之继承
- 2016 Android App必知必会