บทความนี้แบ่งปันรหัสเฉพาะของเคสรถเข็นช็อปปิ้ง Javaweb สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
1. โครงสร้างไดเรกทอรีโครงการ
2. ซอร์สโค้ด
แพ็คเกจ-เลเยอร์ dao : bookdao.java
แพ็คเกจ com.dao; นำเข้า java.util.map; นำเข้า com.db.db; นำเข้า com.domain.book; Bookdao ชั้นเรียนสาธารณะ {แผนที่สาธารณะ getall () {return db.getall (); } หนังสือสาธารณะค้นหา (string id) {return (book) db.getall (). get (id); -แพ็คเกจ db: db.java - ฐานข้อมูลจำลอง
แพ็คเกจ com.db; นำเข้า java.util.linkedhashmap; นำเข้า java.util.map นำเข้า com.domain.book; นำเข้า com.sun.org.apache.bcel.internal.generic.new; // แสดงถึงฐานข้อมูล Static {map.put ("1", หนังสือเล่มใหม่ ("1", "Javaweb Development", "Lao Zhang", 38, "A Good Book")); map.put ("2", "หนังสือเล่มใหม่ (" 2 "," การพัฒนา JDBC "," Lao Li ", 18," หนังสือที่ดี ")); map.put (" 3 ", หนังสือเล่มใหม่ (" 3 "," Ajax Development "," Lao Tong ", 328," A Good Book "); Book ")); map.put (" 5 ", หนังสือเล่มใหม่ (" 5 "," Struts Development "," Lao Fang ", 28," A Good Book ")); Map.put (" 6 ", หนังสือเล่มใหม่ (" 6 "," Spring Development "," Lao Fang ", 98,แพ็คเกจโดเมน:
book.java: ชั้นเรียนของหนังสือ
แพ็คเกจ com.domain; // คลาสเอนทิตีของหนังสือเรียนหนังสือสาธารณะ {รหัสสตริงส่วนตัว; ชื่อสตริงส่วนตัว; ผู้แต่งสตริงส่วนตัว; ราคาสองเท่าส่วนตัว คำอธิบายสตริงส่วนตัว; หนังสือสาธารณะ () {super (); // todo toDo สร้าง Auto-Generated stub} หนังสือสาธารณะ (รหัสสตริง, ชื่อสตริง, สตริงผู้เขียน, ราคาสองคำ, คำอธิบายสตริง) {super (); this.id = id; this.name = ชื่อ; this.author = ผู้แต่ง; this.price = ราคา; this.description = คำอธิบาย; } สตริงสาธารณะ getId () {return id; } โมฆะสาธารณะ setId (รหัสสตริง) {this.id = id; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } Public String getAuthor () {return Author; } โมฆะสาธารณะ setauthor (ผู้เขียนสตริง) {this.author = ผู้แต่ง; } สาธารณะ double getPrice () {ราคาคืน; } โมฆะสาธารณะ setPrice (ราคาสองเท่า) {this.price = ราคา; } สตริงสาธารณะ getDescription () {return คำอธิบาย; } โมฆะสาธารณะ setDescription (คำอธิบายสตริง) {this.description = คำอธิบาย; -CART.JAVA: คลาสตะกร้าสินค้า
แพ็คเกจ com.domain; นำเข้า java.util.linkedhashmap; นำเข้า java.util.map; // ตะกร้าสินค้าที่เป็นตัวแทนของผู้ใช้ // ตะกร้าสินค้าที่เป็นตัวแทนของรถเข็นระดับสาธารณะของผู้ใช้ ราคาสองเท่าส่วนตัว // จำไว้ว่ารายการทั้งหมดในตะกร้าสินค้ามีค่าใช้จ่ายโมฆะสาธารณะเพิ่ม (หนังสือเล่ม) {// ดูว่ามีในตะกร้าสินค้าและรายการช้อปปิ้งที่สอดคล้องกับหนังสือที่จะเพิ่มรายการ cartItem = map.get (book.getId ()); if (item == null) {item = new cartItem (); item.setbook (หนังสือ); item.setQuantity (1); map.put (book.getId (), รายการ); } else {item.setQuantity (item.getQuantity ()+1); }} แผนที่สาธารณะ <String, CartItem> getMap () {return map; } โมฆะสาธารณะ setMap (แผนที่ <String, CartItem> MAP) {this.map = แผนที่; } สาธารณะ double getPrice () {double totalPrice = 0; สำหรับ (map.entry <string, cartItem> รายการ: map.entryset ()) {cartItem item = entry.getValue (); TotalPrice += item.getPrice (); } this.price = TotalPrice; ราคาคืน; } โมฆะสาธารณะ setPrice (ราคาสองเท่า) {this.price = ราคา; -cartitem.java: รายการช้อปปิ้ง
แพ็คเกจ com.domain; // ใช้เพื่อเป็นตัวแทนของผลิตภัณฑ์บางอย่างและจำนวนครั้งที่ปรากฏ (รายการช้อปปิ้ง) ชั้นเรียนสาธารณะ cartitem {หนังสือส่วนตัว; ปริมาณ int ส่วนตัว; ราคาสองเท่าส่วนตัว หนังสือสาธารณะ getBook () {หนังสือคืน; } โมฆะสาธารณะ setbook (หนังสือหนังสือ) {this.book = book; } public int getQuantity () {ปริมาณคืน; } โมฆะสาธารณะ setquantity (ปริมาณ int) {this.quantity = ปริมาณ; this.price = this.book.getPrice () * this.quantity; } สาธารณะ double getPrice () {ราคาคืน; } โมฆะสาธารณะ setPrice (ราคาสองเท่า) {this.price = ราคา; -แพ็คเกจบริการ: ชั้นบริการ
BusinessService.java:
แพ็คเกจ com.service; นำเข้า java.util.map; นำเข้า com.dao.bookdao; นำเข้า com.domain.book; นำเข้า com.domain.cart; นำเข้า com.domain.cartitem; // ชั้นธุรกิจให้บริการทั้งหมดไปยังเว็บเลเยอร์ แผนที่สาธารณะ getallbook () {return dao.getall (); } หนังสือสาธารณะหนังสือสาธารณะ (รหัสสตริง) {return dao.find (id); } // ลบรายการช้อปปิ้งในตะกร้าสินค้าโมฆะสาธารณะ deleteCartItem (String ID, รถเข็นรถเข็น) {cart.getMap (). ลบ (ID); } // ล้างโมฆะสาธารณะของตะกร้าสินค้าสาธารณะ ClearCart (รถเข็น) {cart.getMap (). Clear (); } // เปลี่ยนจำนวนรายการช้อปปิ้งโมฆะสาธารณะ ChangeItemQuantity (String ID, ปริมาณสตริง, รถเข็นรถเข็น) {cartItem item = cart.getMap () รับ (id); item.setQuantity (Integer.parseint (ปริมาณ)); -เว็บเลเยอร์:
listbookservlet.java: แสดงหนังสือทั้งหมด
แพ็คเกจ com.web.controller; นำเข้า java.io.ioexception; นำเข้า java.io.printwriter; นำเข้า java.util.map; นำเข้า javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; javax.servlet.http.httpservletResponse; นำเข้า com.service.businessservice; // รับหนังสือทั้งหมด // รับหนังสือทุกชั้นหนังสือสาธารณะ Listbookservlet ขยายธุรกิจ httpservlet BusinessService (); แผนที่แผนที่ = service.getallbook (); request.setAttribute ("แผนที่", แผนที่); request.getRequestDispatcher ("/web-inf/jsp/listbook.jsp"). forward (คำขอ, การตอบกลับ); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, httpservletResponse การตอบสนอง) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); -BuyServlet.java: การประมวลผลคำขอซื้อ
แพ็คเกจ com.web.controller; นำเข้า java.io.ioexception; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; นำเข้า Javax.servlet.http.httpservletRequest; com.domain.cart; นำเข้า com.service.businessservice; // การซื้อหนังสือฉบับสมบูรณ์ // หนังสือเล่มที่สมบูรณ์ซื้อชั้นเรียนสาธารณะ BuyServlet ขยาย httpservlet {โมฆะสาธารณะ doget (httpservletrequest คำขอ, httpservletResponse) บริการ BusinessService = ใหม่ BusinessService (); หนังสือหนังสือ = service.findbook (id); // รับตะกร้ารถเข็นของผู้ใช้ = (CART) Request.getSession (). GetAttribute ("CART"); if (cart == null) {cart = new cart (); request.getSession (). setAttribute ("รถเข็น", รถเข็น); } // เพิ่มหนังสือลงในตะกร้าสินค้าของผู้ใช้และทำการซื้อ Cart.Add (หนังสือ) ให้เสร็จสิ้น; //response.sendretirect("/web-inf/jsp/listcart.jsp "); request.getRequestDispatcher ("/web-inf/jsp/listcart.jsp"). forward (คำขอ, การตอบกลับ); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, httpservletResponse การตอบสนอง) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); -deleteItemservlet.java: ลบผลิตภัณฑ์บางอย่าง
แพ็คเกจ com.web.controller; นำเข้า java.io.ioexception; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; นำเข้า javax.servlet.http.httpservletRequest; com.service.BusinessService; // ลบรายการช้อปปิ้งที่ระบุระดับสาธารณะ DELETEITEMSERVLET ขยาย HTTPSERVLET {โมฆะสาธารณะ DOGET (HTTPSERVLETREQUEST Request, HTTPSERVLETRESSESSION CART CART = (CART) request.getSession (). GetAttribute ("CART"); บริการ BusinessService = ใหม่ BusinessService (); Service.deleteCartItem (ID, CART); // ลบคำขอสำเร็จ GetRequestDispatcher ("/web-inf/jsp/listcart.jsp"). forward (คำขอ, การตอบกลับ); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, httpservletResponse การตอบสนอง) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); -clearcartservlet.java: ล้างรถเข็น
แพ็คเกจ com.web.controller; นำเข้า java.io.ioexception; นำเข้า java.io.printwriter; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; นำเข้า Javax.servlet.http.https javax.servlet.http.httpservletResponse; นำเข้า com.domain.cart; นำเข้า com.service.businessService; // ล้างระดับการช็อปปิ้งระดับ Public ClearCartservlet ขยาย HTTPSERVLET request.getSession (). getAttribute ("รถเข็น"); บริการ BusinessService = ใหม่ BusinessService (); Service.clearcart (รถเข็น); request.getRequestDispatcher ("/web-inf/jsp/listcart.jsp"). forward (คำขอ, การตอบกลับ); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, httpservletResponse การตอบสนอง) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); -ChangeQuantityServlet.java: แก้ไขปริมาณของผลิตภัณฑ์ที่ระบุในตะกร้าสินค้า
แพ็คเกจ com.web.controller; นำเข้า java.io.ioexception; นำเข้า java.io.printwriter; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; นำเข้า Javax.servlet.http.https javax.servlet.http.httpservletResponse; นำเข้า com.domain.cart; นำเข้า com.service.businessservice; // แก้ไขหนังสือในตะกร้าสินค้าเพื่อการเปลี่ยนแปลงระดับสาธารณะ ioException {string id = request.getParameter ("id"); ปริมาณสตริง = request.getParameter ("ปริมาณ"); CART CART = (CART) request.getSession (). GetAttribute ("CART"); บริการ BusinessService = ใหม่ BusinessService (); Service.changeItemQuantity (ID, ปริมาณ, รถเข็น); request.getRequestDispatcher ("/web-inf/jsp/listcart.jsp"). forward (คำขอ, การตอบกลับ); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, httpservletResponse การตอบสนอง) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); -หน้า 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" คำนำหน้า = "c"%> transitional // en "> <html> <head> <title> หน้ารายการหนังสือ </title> </head> <body style =" text-allign: center "> <h1> รายการหนังสือ </h1> <table> <ttr> <td> ชื่อหนังสือ </td> <td> ผู้แต่ง </td> <td> </tr> <c: foreach var = "entry" items = "$ {map}"> <tr> <td> $ {entry.value.name} </td> <td> $ {entry.value.author} </td> <td> $ {entry.value.price} </td> <td> <a href = "$ {pageContext.request.contextpath}/servlet/buyservlet? id = $ {entry.value.id}" rel = "external nofollow" target = "blank"> ซื้อ </a>webroot/web-inf/jsp/listcart.jsp: แสดงรายการตะกร้าสินค้าช็อปปิ้ง
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" คำนำหน้า = "c"%> Transitional // en "> <html> <head> <title> รายการรถยนต์ </title> <script type =" text/javascript "> function deleteItem (id) {var b = window.confirm (" คุณยืนยันการลบหรือไม่? "); if (b) {window.location.href = "$ {pageContext.request.contextpath}/servlet/deleteItemServlet? id =" rel = "ภายนอก nofollow" +id; }} function clearCart () {var b = window.confirm ("คุณยืนยันการล้างหรือไม่?"); if (b) {window.location.href = "$ {pageContext.request.contextpath}/servlet/clearcartservlet" rel = "ภายนอก nofollow"; }} ฟังก์ชั่นการเปลี่ยนแปลง (อินพุต, id, oldValue) {ปริมาณ var = input.value; // รับหมายเลขที่จะแก้ไข SDFSFS /* // ตรวจสอบว่าจำนวนการป้อนข้อมูลผู้ใช้เป็นหมายเลขถ้า (isnan (ปริมาณ)) {แจ้งเตือน ("โปรดป้อนหมายเลข !!"); input.value = oldValue; กลับ; } */// ตรวจสอบว่าจำนวนอินพุตของผู้ใช้เป็นจำนวนเต็มบวกถ้า (ปริมาณ <0 || ปริมาณ! = parseInt (ปริมาณ)) {แจ้งเตือน ("โปรดป้อนจำนวนเต็มบวก !!"); input.value = oldValue; กลับ; } var b = window.confirm ("คุณยืนยันว่าจำนวนหนังสือถูกแก้ไขเป็น:" + ปริมาณ); if (b) {window.location.href = "$ {pageContext.request.contextpath}/servlet/changeQuantityServlet? id =" rel = "ภายนอก nofollow" + id + "& ปริมาณ =" + ปริมาณ; }} </script> </head> <body style = "Text-Align: Center"> <h1> รายการตะกร้าสินค้า </h1> <c: ถ้า test = "$ {ว่างเปล่า (cart.map)}"> คุณไม่ได้ซื้อสินค้าใด ๆ ! - - </c: ถ้า> <c: ถ้า test = "$ {! empty (cart.map)}"> <table> <tr> <td> <td> ชื่อหนังสือ </td> <td> ผู้แต่ง </td> <td> ราคา </td> <td> var = "entry" items = "$ {cart.map}"> <tr> <td> $ {entry.value.book.name} </td> <td> $ {entry.value.book.author} </td> <td> $ {entry.value.book.book.price value = "$ {entry.value.quantity}" onChange = "ChangeQuantity (นี่, $ {entry.key}, $ {entry.value.quantity})"> </td> <td> $ {entry.value.price} </td> <td> rel = "ภายนอก nofollow" onclick = "deleteItem ($ {entry.key})"> ลบ </a> <!-ลบพฤติกรรมเริ่มต้นของไฮเปอร์ลิงก์-> </td> </tr> </c: foreach> <ttr> <td colspan = "3"> ราคารวม </td> <td colspan = "1"> <a href = "JavaScript: void (0)" rel = "nofollow ภายนอก" rel = "ภายนอก nofollow" onclick = "clearcart ()"> ล้างรถเข็น </a> </td> </tr>ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น