真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

javaweb購物車功能的實現(xiàn)方法

這篇文章主要介紹“javaweb購物車功能的實現(xiàn)方法”,在日常操作中,相信很多人在javaweb購物車功能的實現(xiàn)方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”javaweb購物車功能的實現(xiàn)方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)公司是一家集做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站設(shè)計公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。

本文實例為大家分享了javaweb購物車案列的具體代碼,供大家參考,具體內(nèi)容如下

一、項目目錄結(jié)構(gòu)  

 javaweb購物車功能的實現(xiàn)方法

二、源代碼

dao包——dao層:BookDao.java

package com.dao;

import java.util.Map;
import com.DB.DB;
import com.domain.Book;


public class BookDao {
 
 public Map getAll(){
 return DB.getAll();
 }
 
 public Book find(String id){
 return (Book) DB.getAll().get(id);
 }
}

DB包:DB.java——模擬數(shù)據(jù)庫

package com.DB;
import java.util.LinkedHashMap;
import java.util.Map;
import com.domain.Book;
import com.sun.org.apache.bcel.internal.generic.NEW;
//代表數(shù)據(jù)庫
//代表數(shù)據(jù)庫
public class DB {
 
 private static Map map = new LinkedHashMap();
 static{
 map.put("1", new Book("1","javaweb開發(fā)","老張",38,"一本好書"));
 map.put("2", new Book("2","jdbc開發(fā)","老黎",18,"一本好書"));
 map.put("3", new Book("3","ajax開發(fā)","老佟",328,"一本好書"));
 map.put("4", new Book("4","jbpm開發(fā)","老畢",58,"一本好書"));
 map.put("5", new Book("5","struts開發(fā)","老方",28,"一本好書"));
 map.put("6", new Book("6","spring開發(fā)","老方",98,"一本好書"));
 }
 
 
 public static Map getAll(){
 return map;
 }
 
}

domain包:

Book.java:書的實體類

package com.domain;
//書的實體類
public class Book { 
 private String id;
 private String name;
 private String author;
 private double price;
 private String description;

 public Book() {
 super();
 // TODO Auto-generated constructor stub
 }
 public Book(String id, String name, String author, double price,
  String description) {
 super();
 this.id = id;
 this.name = name;
 this.author = author;
 this.price = price;
 this.description = description;
 }
 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(double price) {
 this.price = price;
 }
 public String getDescription() {
 return description;
 }
 public void setDescription(String description) {
 this.description = description;
 }
 
 
}

Cart.java:購物車類  

package com.domain;

import java.util.LinkedHashMap;
import java.util.Map;

//代表用戶的購物車

//代表用戶的購物車
public class Cart {

 private Map map = new LinkedHashMap();
 private double price; //記住購物車所有商品多少錢
 
 public void add(Book book){
 //看購物車中有沒有,要添加的書對應(yīng)的購物項
 CartItem item = map.get(book.getId());
 if(item==null){
  item = new CartItem();
  item.setBook(book);
  item.setQuantity(1);
  map.put(book.getId(), item);
 }else{
  item.setQuantity(item.getQuantity()+1);
 }
 }
 
 public Map getMap() {
 return map;
 }
 public void setMap(Map map) {
 this.map = map;
 }
 public double getPrice() {
 double totalprice = 0;
 for(Map.Entry entry : map.entrySet()){
  CartItem item = entry.getValue();
  totalprice += item.getPrice();
 }
 this.price = totalprice;
 return price;
 }
 public void setPrice(double price) {
 this.price = price;
 }
}

CartItem.java:購物項 

package com.domain;
//用于代表某個商品,以及商品出現(xiàn)的次數(shù)(購物項)
public class CartItem {

 private Book book;
 private int quantity;
 private double price;
 
 
 public Book getBook() {
 return book;
 }
 public void setBook(Book book) {
 this.book = book;
 }
 public int getQuantity() {
 return quantity;
 }
 public void setQuantity(int quantity) {
 this.quantity = quantity;
 this.price = this.book.getPrice() * this.quantity;
 }
 public double getPrice() {
 return price;
 }
 public void setPrice(double price) {
 this.price = price;
 }

}

service包:service層

BusinessService.java:    

package com.service;

import java.util.Map;

import com.dao.BookDao;
import com.domain.Book;
import com.domain.Cart;
import com.domain.CartItem;
//業(yè)務(wù)類,統(tǒng)一對web層提供所有服務(wù)
public class BusinessService {

 private BookDao dao = new BookDao();
 
 public Map getAllBook(){
 return dao.getAll();
 }
 
 public Book findBook(String id){
 return dao.find(id);
 }

 //刪除購物車中的購物項
 public void deleteCartItem(String id, Cart cart) {
 cart.getMap().remove(id);
 }
 
 //清空購物車
 public void clearCart(Cart cart) {
 cart.getMap().clear();
 }
 
 //改變購物項的數(shù)量
 public void changeItemQuantity(String id, String quantity, Cart cart) {
 CartItem item = cart.getMap().get(id);
 item.setQuantity(Integer.parseInt(quantity));
 }
 
}

web層:

ListBookServlet.java:顯示所有書籍    

package com.web.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.service.BusinessService;
//獲取所有書籍
//獲取所有書
public class ListBookServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {

 BusinessService service = new BusinessService();
 Map map = service.getAllBook();
 request.setAttribute("map", map);
 
 request.getRequestDispatcher("/WEB-INF/jsp/listbook.jsp").forward(request, response);
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 doGet(request, response);
 }

}

 BuyServlet.java:處理購買請求    

package com.web.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.domain.Book;
import com.domain.Cart;
import com.service.BusinessService;

//完成書籍購買
//完成書籍購買
public class BuyServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {

 String id = request.getParameter("id");
 BusinessService service = new BusinessService();
 Book book = service.findBook(id);
 
 //得到用戶的購物車
 Cart cart = (Cart) request.getSession().getAttribute("cart");
 if(cart==null){
  cart = new Cart();
  request.getSession().setAttribute("cart", cart);
 }
 
 //把書加到用戶購物車中,完成購買
 cart.add(book);
 
 //response.sendRedirect("/WEB-INF/jsp/listcart.jsp");
 request.getRequestDispatcher("/WEB-INF/jsp/listcart.jsp").forward(request, response);
 
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 doGet(request, response);
 }

}

DeleteItemServlet.java:刪除某一種商品

package com.web.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.domain.Cart;
import com.service.BusinessService;
//刪除指定的購物項
public class DeleteItemServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {

 String id = request.getParameter("id");
 Cart cart = (Cart) request.getSession().getAttribute("cart");
 
 
 BusinessService service = new BusinessService();
 service.deleteCartItem(id,cart);
 
 //刪除成功
 request.getRequestDispatcher("/WEB-INF/jsp/listcart.jsp").forward(request, response);
 
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 doGet(request, response);
 }

}

ClearCartServlet.java:清空購物車

package com.web.controller;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.domain.Cart;
import com.service.BusinessService;
//清空購物車
public class ClearCartServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {

 Cart cart = (Cart) request.getSession().getAttribute("cart");
 
 BusinessService service = new BusinessService();
 service.clearCart(cart);
 
 request.getRequestDispatcher("/WEB-INF/jsp/listcart.jsp").forward(request, response);
 
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 doGet(request, response);
 }

}

ChangeQuantityServlet.java:修改購物車中指定商品的數(shù)量

package com.web.controller;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.domain.Cart;
import com.service.BusinessService;

//把購物車中的書修改為指定數(shù)量
public class ChangeQuantityServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {

 String id = request.getParameter("id");
 String quantity = request.getParameter("quantity");
 
 Cart cart = (Cart) request.getSession().getAttribute("cart");
 
 BusinessService service = new BusinessService();
 service.changeItemQuantity(id,quantity,cart);
 

 request.getRequestDispatcher("/WEB-INF/jsp/listcart.jsp").forward(request, response);
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 doGet(request, response);
 }

}

 jsp頁面: 

WebRoot/WEB-INF/jsp/listbook.jsp:顯示書籍列表 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>



 
 書籍列表頁面
 
 
 
 
 

書籍列表

        書名   作者   售價   描述    操作          ${entry.value.name }   ${entry.value.author }   ${entry.value.price }   ${entry.value.description }        購買            

WebRoot/WEB-INF/jsp/listcart.jsp:顯示購物車列表

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


 
 購物車列表
 
 
 function deleteitem(id){
  var b = window.confirm("您確認(rèn)刪除嗎??");
  if(b){
  window.location.href="${pageContext.request.contextPath }/servlet/DeleteItemServlet?id=" rel="external nofollow" +id;
  }
 }
 
 function clearcart(){
  var b = window.confirm("您確認(rèn)清空嗎??");
  if(b){
  window.location.href="${pageContext.request.contextPath}/servlet/ClearCartServlet" rel="external nofollow" ;
  }
 }
 
 function changeQuantity(input,id,oldvalue){
  var quantity = input.value; //得到要修改的數(shù)量 sdfsfs
  
  /*
  //檢查用戶輸入的數(shù)量是不是一個數(shù)字
  if(isNaN(quantity)){
  alert("請輸入數(shù)字!!");
  input.value = oldvalue;
  return;
  }
  */
  
  //檢查用戶輸入的數(shù)量是不是一個正整數(shù)
  if(quantity<0 || quantity!=parseInt(quantity)){
  alert("請輸入正整數(shù)!!");
  input.value = oldvalue;
  return;
  }  
  
  var b = window.confirm("您確認(rèn)把書的數(shù)量修改為:" + quantity);
  if(b){
  window.location.href="${pageContext.request.contextPath}/servlet/ChangeQuantityServlet?id=" rel="external nofollow" + id + "&quantity=" + quantity;
  }
 }
 
 
 
 
 
 
 

購物車列表

      您沒有購買任何商品?。?!               書名   作者   單價   數(shù)量    小計   操作          ${entry.value.book.name }   ${entry.value.book.author }   ${entry.value.book.price }             ${entry.value.price }       刪除                    總價   ${cart.price }元      清空購物車             

到此,關(guān)于“javaweb購物車功能的實現(xiàn)方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)頁題目:javaweb購物車功能的實現(xiàn)方法
網(wǎng)頁鏈接:http://weahome.cn/article/jgsoeo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部