Dieser Artikel teilt den spezifischen Code des Javaweb -Einkaufswagen -Cart -Falls für Ihre Referenz. Der spezifische Inhalt ist wie folgt
1. Projektverzeichnisstruktur
2. Quellcode
Paket-DAO Layer: Bookdao.java
Paket com.dao; import java.util.map; import com.db.db; com.domain.book; public class bookdao {public map getall () {return db.getall (); } public book find (string id) {return (book) db.getall (). get (id); }}DB -Paket: db.java - simulierte Datenbank
Paket com.db; import java.util.linkedhashMap; import Java.util.map; import com.domain.book; com.sun.org.apache.bcel.internal.generic.new; // repräsentiert die Datenbank // repräsentiert die Datenbank öffentliche Klasse db {private static map = new LinkedHashMap (); static {map.put ("1", neues Buch ("1", "Javaweb Development", "Lao Zhang", 38, "ein gutes Buch"); map.put("2","new Book("2","jdbc development","Lao Li",18,"a good book")); map.put("3", new Book("3","ajax development","Lao Tong",328,"a good book")); map.put("4", new Book("4","jbpm development","Lao Bi",58,"a good Buch ")); map.put (" 5 ", neues Buch (" 5 "," Struts Development "," Lao Fang ", 28," Ein gutes Buch "); Map.put (" 6 ", neues Buch (" 6 "," Spring Development "," Lao Fang ", 98," A Good Book ");Domain -Paket:
Book.java: Entitätsklasse eines Buches
Paket com.domain; // Die Entitätsklasse des Buches Public Class Book {private String id; privater Zeichenfolge Name; privater String -Autor; privater Doppelpreis; private Zeichenfolge Beschreibung; public book () {super (); // Todo automatisch generierter Konstruktor Stub} öffentliches Buch (String-ID, String-Name, String-Autor, Doppelpreis, Zeichenfolge Beschreibung) {Super (); this.id = id; this.name = name; this.author = Autor; this.price = Preis; this.description = Beschreibung; } 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 -Autor) {this.author = Autor; } public double getPrice () {Rückgabepreis; } public void setPrice (Doppelpreis) {this.price = price; } public String getDescription () {Rückgabe Beschreibung; } public void setDescription (String Beschreibung) {this.description = Beschreibung; }}Cart.java: Einkaufswagenklasse
Paket com.domain; import java.util.linkedhashMap; import Java.util.map; // Einkaufswagen, der den Benutzer // Einkaufswagen darstellt, der den Benutzer der öffentlichen Klasse für den Benutzer der Benutzer der Benutzer, private Karte <String, Cartitem> map = new linkedHasMap () darstellt; privater Doppelpreis; // Denken Sie daran, wie viel alle Artikel im Einkaufswagen öffentliche Leere addieren (Buchbuch) {// Sehen Sie, ob sich im Einkaufswagen etwas befindet, und der Einkaufsgegenstand, der dem Buch entspricht, um Cartitem item = map.get (book.getId ()) zu addieren; if (item == null) {item = new Cartitem (); item.setbook (Buch); item.setQuantity (1); map.put (book.getId (), item); } else {item.setQuantity (item.getQuantity ()+1); }} public map <string, cartitem> getMap () {return map; } public void setMap (map <string, cartitem> map) {this.map = map; } public double getPrice () {Double TotalPrice = 0; für (map.entry <String, Cartitem> Eintrag: map.entrySet ()) {Cartitem item = Eintrag.getValue (); TotalPrice += item.getPrice (); } this.price = TotalPrice; Rückgabepreis; } public void setPrice (Doppelpreis) {this.price = price; }}Cartitem.java: Einkaufsartikel
Paket com.domain; // verwendet ein bestimmtes Produkt und die Häufigkeit, mit der es erscheint (Einkaufsgegenstände) öffentliche Klasse Cartitem {privates Buchbuch; private int -Menge; privater Doppelpreis; Public Book GetBook () {Rückgabebuch; } public void setbook (Buchbuch) {this.book = book; } public int getQuantity () {return quantity; } public void setQuantity (int Menge) {this.quantity = mantity; this.price = this.book.getPrice () * this.quantity; } public double getPrice () {Rückgabepreis; } public void setPrice (Doppelpreis) {this.price = price; }}Servicepaket: Serviceschicht
BusinessService.java:
Paket com.service; import java.util.map; import com.dao.bookdao; import com.domain.book; import com.domain.cart; import com.domain.cartitem; // Business Class bieten alle Dienste für die Webschicht auf eine einheitliche Art und Weise öffentlich -business -Service. public map getAllbook () {return dao.getall (); } public book findbook (string id) {return dao.find (id); } // Einkaufsgegenstände im Einkaufswagen öffentliche void deleteCartItem (String -ID, CART CART) {cart.getMap (). REMET (ID); } // den Einkaufswagen public void clearCart (CART CART) {cart.getMap (). Clear (); } // Ändern Sie die Anzahl der Einkaufsgegenstände public void ChangeItemquantity (String -ID, String -Menge, CART CART) {Cartitem item = cart.getMap (). Get (id); item.setQuantity (Integer.ParseInt (Menge)); }}Webschicht:
Listbookservlet.java: Alle Bücher zeigen
Paket com.web.controller; import java.io.ioxception; import Java.io.printwriter; import Java.util.map; Import Javax.Servlet.ServletException; Import Javax.servlet.http.httplet; Import Javax.http.http.http.http. javax.servlet.http.httpServletResponse; import com.service.businessservice; // Alle Bücher erhalten // alle Bücher öffentliche Klasse ListbookServlet erweitern HttpServlet {public void dodget (httpletRequestanfrage, httpserdService -Dienstleistungen), die die geschäftliche Wertpapiere {BusinessService -Dienstleistungen), IOException {BusinessService -Dienstleistungen). BusinessService (); Map map = service.getallbook (); Request.SetatTribute ("Karte", Karte); Request.GetRequestDispatcher ("/web-inf/jsp/listbook.jsp"). Weiterleiten (Anfrage, Antwort); } public void dopost (httpServletRequest Request, httpServletResponse -Antwort) löst ServletException aus, ioException {dodget (request, response); }}BuyServlet.java: Kaufanfragen bearbeiten
Paket com.web.controller; import java.io.ioxception; import Javax.servlet.servletException; import Javax.servlet.http.httpServlet; import Javax.servlet.http.httpletReque. com.domain.cart; import com.service.businessservice; // vollständigen Buchkauf // Vollständige Buchkauf öffentliche Klasse BuyServlet erweitert httpServlet {public void dagget (httpServletRequest -Anforderung, httpServletResponce), die ServletException, IoException {String Id = Anfrage.GetParameter.Anness.GetParameter. ("Id = Request.GetParameter. (" Id = Request.Getarameter. BusinessService Service = New BusinessService (); Book book = service.findbook (id); // den Einkaufswagen des Benutzers einholen. if (cart == null) {cart = neuer cart (); request.getSession (). setAttribute ("cart", cart); } // das Buch dem Einkaufswagen des Benutzers hinzufügen und den Kauf von cart.add (Buch) abschließen. //response.sendredirect("/web-inf/jsp/Listcart.jsp "); request.getRequestDispatcher ("/web-inf/jsp/listcart.jsp"). Forward (Request, Antwort); } public void dopost (httpServletRequest Request, httpServletResponse -Antwort) löst ServletException aus, ioException {dodget (request, response); }}DeleteEmServlet.java: Löschen Sie ein bestimmtes Produkt
Paket com.web.controller; import java.io.ioxception; import javax.servlet.servletException; import Javax.servlet.http.httpserd; com.service.businessService; // Löschen des angegebenen Einkaufsgegenstandes öffentliche Klasse DeleteEMServlet erweitert HttpServlet (public void dodget (httpServletRequest), httpServletResponse -Antwort). Cart cart = (cart) request.getSession (). GetAtTribute ("cart"); BusinessService Service = New BusinessService (); service.SeteletEcartItem (id, cart); // erfolgreich anfordern. } public void dopost (httpServletRequest Request, httpServletResponse -Antwort) löst ServletException aus, ioException {dodget (request, response); }}ClearCartServlet.java: Löschen Sie den Wagen
Paket com.web.controller; import Java.io.ioException; import Java.io.printwriter; importieren javax.servlet.servletexception; import javax.servlet.http.httpservlet; importieren javax.servlet.http.httpletrequest; javax.servlet.http.httpServletResponse; import com.domain.cart; import com.service.businessservice; // Die Einkaufsgeräte klassifizieren ClearCartServlet erweitert Httpservlet {public void daged (httpserdrequet), httpserdservlet) throws -servletrequest, IOEx -kartier- oder kartell -kartier -kartier- Request.GetSession (). getAtTribute ("cart"); BusinessService Service = New BusinessService (); service.clearcart (cart); request.getRequestDispatcher ("/web-inf/jsp/listcart.jsp"). Forward (Request, Antwort); } public void dopost (httpServletRequest Request, httpServletResponse -Antwort) löst ServletException aus, ioException {dodget (request, response); }}ChangequantityServlet.java: Ändern Sie die Menge der festgelegten Produkte im Einkaufswagen
Paket com.web.controller; import Java.io.ioException; import Java.io.printwriter; importieren javax.servlet.servletexception; import javax.servlet.http.httpservlet; importieren javax.servlet.http.httpletrequest; javax.servlet.http.HttpServletResponse;import com.domain.Cart;import com.service.BusinessService;//Modify the book in the shopping cart to a specified quantity public class ChangeQuantityServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IoException {String id = request.getParameter ("id"); String mantity = request.getParameter ("Menge"); Cart cart = (cart) request.getSession (). GetAtTribute ("cart"); BusinessService Service = New BusinessService (); Service.ChangeItemquantity (ID, Menge, CART); request.getRequestDispatcher ("/web-inf/jsp/listcart.jsp"). Forward (Request, Antwort); } public void dopost (httpServletRequest Request, httpServletResponse -Antwort) löst ServletException aus, ioException {dodget (request, response); }}JSP -Seite:
Webroot/web-inf/jsp/listbook.jsp: Buchliste anzeigen
<%@ page Language = "java" import = "java.util. Transitional // en "> <html> <kopf> <title> Buchliste </title> </head> <body style =" text-align: center <c:forEach var="entry" items="${map}"> <tr> <td>${entry.value.name }</td> <td>${entry.value.author }</td> <td>${entry.value.price }</td> <td>${entry.value.description } </td> <td> <a href = "$ {pageContext.request.contextPath}/Servlet/BuyServlet? ID = $ {Eintrag.value.id}" rel = "externe nofollow" target = "_ leer"> buy </a> </td> </tr> </c: forach> </table> </table> </table> </table> </table> </table> </body> </cable> </table> </body> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable> </cable;Webroot/web-inf/jsp/listcart.jsp: Einkaufswagenliste anzeigen
<%@ page Language = "java" import = "java.util. Transitional // ede "> <html> <kopf> <titels> Autoliste </title> <skript type =" text/javaScript "> Funktion DeleteItem (ID) {var b = window.confirm (" Bestätigen Sie das Löschen? "); if (b) {window.location.href = "$ {pageContext.request.contextPath}/Servlet/DeleteEMServlet? ID =" rel = "external nofollow" +id; }} function clearCart () {var b = window.confirm ("Haben Sie das Löschen bestätigt?"); if (b) {window.location.href = "$ {pageContext.request.contextPath}/Servlet/ClearCartServlet" rel = "external nofollow"; }} Funktion Changequantity (Eingabe, ID, OldValue) {var quantity = input.value; // Die Nummer zum geänderten SDFSFS erhalten /* // prüfen, ob die Anzahl der Benutzereingaben eine Nummer ist, wenn (isnan (Menge)) {alert ("Bitte geben Sie die Nummer ein !!"); input.Value = OldValue; zurückkehren; } */// Überprüfen Sie, ob die Anzahl der Benutzereingaben eine positive Ganzzahl ist, wenn (Menge <0 || Menge! input.Value = OldValue; zurückkehren; } var b = window.confirm ("Sie bestätigen, dass die Anzahl der Bücher geändert wird, um:" + Menge); if (b) {window.location.href = "$ {pageContext.request.contextPath}/Servlet/ChangequantityServlet? ID =" rel = "externe nofollow" + id + "& quantity =" + Quantität; }} </script> </head> <body style = "text-align: center"> <h1> Warenkorbliste </h1> <c: if test = "$ {leer (cart.map)}"> Sie haben keine Artikel gekauft! ! ! </c: if> <c: if test = "$ {! var = "Eintrag" items = "$ {cart.map}"> <tr> <td> $ {Eintrag.Value.Book.name} </td> <td> $ {Eintrag.Value.book.book.AUTHOR} </td> <td> $ {Eintrieb.Value.book} </td> <td> <Input Typ = "tection" tection = "tection =" tection "tection value = "$ {Eintrag.Value.quantity}" Onchange = "Changequantity (this, $ {Eintrag.Key}, $ {Eintrag.Value.quantity})"> </td> <td> $ {Eintrag. rel="external nofollow" onclick="deleteitem(${entry.key })">Delete</a> <!-- Remove the default behavior of hyperlinks--> </td> </tr> </c:forEach> <ttr> <td colspan="3">Total price</td> <td colspan="2">${cart.price } Yuan </td> <td colspan = "1"> <a href = "javaScript: void (0)" rel = "external nofollow" rel = "external nofollow" onclick = "clearCart ()"> den Cart </a> </td> </tr> </table> </c: falls> </body> </html> </c: if> </c: fall> </b: if> </c: if> </c: if> </c: if> </c: if> </c: if> </c: if> </c: if> </c: if> </c: fallDas obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.