Cet article partage le code spécifique du boîtier de panier Javaweb pour votre référence. Le contenu spécifique est le suivant
1. Structure du répertoire de projet
2. Code source
Package - Couche de 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); }}Package DB: DB.java - base de données simulée
Package com.db; Importer java.util.linkedhashmap; import java.util.map; import com.domain.book; import com.sun.org.apache.bcel.internal.generic.new; // représente la base de données // représente la base de données publique DB {mate statique privée = new LinkedHashMap ();); statique {map.put ("1", nouveau livre ("1", "développement javaweb", "lao zhang", 38, "un bon livre")); 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 Livre ")); map.put (" 5 ", nouveau livre (" 5 "," Struts Development "," Lao Fang ", 28," A Good Book "); Map.put (" 6 ", nouveau livre (" 6 "," Spring Development "," Lao Fang ", 98," A Good Book "));} public Static Map Getall () {return Map;}}}}Package de domaine:
Book.java: classe d'entité d'un livre
package com.domain; // la classe d'entité du livre de classe publique {ID de chaîne privée; nom de chaîne privé; auteur de chaîne privée; double prix privé; Description de la chaîne privée; livre public () {super (); // TODO Stub du constructeur généré automatiquement} livre public (ID de chaîne, nom de chaîne, auteur de chaîne, double prix, description de la chaîne) {super (); this.id = id; this.name = name; this.author = auteur; this.price = prix; this.description = description; } public String getID () {return id; } public void setid (String id) {this.id = id; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public String getAuthor () {return auteur; } public void setAuthor (String Auteur) {this.author = auteur; } public double getPrice () {prix de retour; } public void setPrice (double prix) {this.price = prix; } public String getDescription () {return Description; } public void setDescription (String Description) {this.description = Description; }}Cart.java: cours de panier
package com.domain; importer java.util.linkedhashmap; import java.util.map; // panier représentant l'utilisateur // panier représentant le panier public de la classe publique {mappe privée <chaîne, Cartem> map = new LinkedHashMap (); double prix privé; // Rappelez-vous combien tous les articles du panier coûtent public void add (livre de livre) {// voir s'il y en a dans le panier, et l'article d'achat correspondant au livre à ajouter le cartitem item = map.get (book.getId ()); if (item == null) {item = new Cartetem (); item.setbook (livre); item.setquantity (1); map.put (book.getId (), item); } else {item.setquantity (item.getquantity () + 1); }} Public Map <String, Cartetem> getMap () {retour map; } public void setmap (map <string, cartetem> map) {this.map = map; } public double getPrice () {double totalPrice = 0; for (map.entry <string, carcitem> entrée: map.entryset ()) {cartItem item = entry.getValue (); totalPrice + = item.getPrice (); } this.price = totalPrice; prix de retour; } public void setPrice (double prix) {this.price = prix; }}Cartem.java: article de magasinage
package com.domain; // utilisé pour représenter un certain produit et le nombre de fois où il apparaît (articles d'achat) Classe publique Cartitem {livre de livres privé; quantité int privée; double prix privé; livre public getBook () {return livre; } public void setbook (book book) {this.book = book; } public int getQuantity () {return quantité; } public void setQuantity (int quantité) {this.quantity = quantité; this.price = this.book.getprice () * this.quantity; } public double getPrice () {prix de retour; } public void setPrice (double prix) {this.price = prix; }}Package de service: couche de service
BusinessVice.java:
package com.service; import java.util.map; import com.dao.bookdao; import com.domain.book; import com.domain.cart; import com.domain.cartitem; // classe d'affaires, fournir tous les services à la couche Web d'une manière unifiée de classe publique de classe publique {private bookda dao = new bookdao (); Map public getAllBook () {return dao.getall (); } Public Book Findbook (String id) {return dao.find (id); } // Supprimer les articles d'achat dans le panier public void deleteCartiTtem (ID de chaîne, panier de panier) {cart.getmap (). Retirer (id); } // effacer le panier public void clearcart (Cart Cart) {Cart.getMap (). Clear (); } // Modifiez le nombre d'articles de magasinage public Void ChangeItemquantity (String ID, String Quantity, Cart Cart) {Cartem Item = Cart.getMap (). Get (id); item.setQuantity (Integer.ParseInt (Quantité)); }}Couche Web:
ListBookServlet.java: Afficher tous les livres
Package com.web.controller; Importer java.io.ioException; import java.io.printwriter; import java.util.map; import javax.servlet.servletException; import javax.servlet.http.httvlett; javax.servlet.http.httpservletResponse; import com.service.businessService; // obtenez tous les livres // obtenir tous les livres de classe publique listbookservlet étend httpservlet {public void Doget (httpservletRequest request, httpservil BusinessVice (); Map map = service.getallbook (); request.setAttribute ("map", map); request.getRequestDispatcher ("/ web-inf / jsp / listbook.jsp"). Forward (request, réponse); } public void doPost (requête HttpServletRequest, réponse httpservletResponse) lève ServletException, ioException {doget (request, réponse); }}Buyservlet.java: traitement des demandes d'achat
Package com.web.Controller; Importer java.io.ioException; Importer Javax.servlet.servletException; Importer Javax.servlet.http.httpservlet; Importer Javax.servlet.http.httpservletRequest; com.domain.cart; Import com.service.businessService; // acheter du livre complet // Achat de livre complet de classe public buyservlet étend httpservlet {public void doget (httpServletRequest request, httpservletRaSponse réponse) lance ServletException, ioException {String id = request.getParameter ("id"); Service BusinessService = new BusinessService (); Livre de livres = service.findBook (id); // Obtenez le panier d'achat de l'utilisateur CART = (CART) request.getSession (). GetAttribute ("CART"); if (cart == null) {cart = new Cart (); request.getSession (). SetAttribute ("CART", CART); } // Ajoutez le livre au panier de l'utilisateur et complétez l'achat de cart.add (livre); //Response.sendRedirect("/web-inf/jsp/listcart.jsp "); request.getRequestDispatcher ("/ web-inf / jsp / listcart.jsp"). Forward (request, réponse); } public void doPost (requête HttpServletRequest, réponse httpservletResponse) lève ServletException, ioException {doget (request, réponse); }}DeleteItemServlet.java: Supprimer un certain produit
Package com.web.Controller; Import Java.io.ioException; Importer Javax.servlet.servletException; Importer Javax.servlet.http.httpservlet; Importer Javax.servlet.http.httpservletRequest; com.service.businessService; // supprimer l'article de magasinage spécifié class public DeleteItemServlet étend httpservlet {public void doget (httpservletRequest request, httpservletResponse réponse) lance Servlexception, ioException {string id = request.getParamètre ("id"); Cart Cart = (CART) request.getSession (). GetAttribute ("CART"); Service BusinessService = new BusinessService (); Service.DeleteCartiTtem (ID, CART); // Supprimer avec succès request.getRequestDispatcher ("/ web-inf / jsp / listcart.jsp"). Forward (request, réponse); } public void doPost (requête HttpServletRequest, réponse httpservletResponse) lève ServletException, ioException {doget (request, réponse); }}Clearcartservlet.java: effacer le chariot
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; // clear the shopp cart classe clearcartServlet étend httpservletReter request.getSession (). getAttribute ("CART"); Service BusinessService = new BusinessService (); Service.Clearcart (CART); request.getRequestDispatcher ("/ web-inf / jsp / listcart.jsp"). Forward (request, réponse); } public void doPost (requête HttpServletRequest, réponse httpservletResponse) lève ServletException, ioException {doget (request, réponse); }}ChangequantityServlet.java: modifier la quantité de produits spécifiés dans le panier
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; // modifie le livre dans le panier à une quantité spécifiée de classe publique ChangeQualityServlet étend httplet {public void doGet (httpsertrequest demande, httpletReterSerSponsersonwis IoException {String id = request.getParameter ("id"); String Quantity = request.getParameter ("Quantité"); Cart Cart = (CART) request.getSession (). GetAttribute ("CART"); Service BusinessService = new BusinessService (); Service.ChangeItemquantity (id, quantité, panier); request.getRequestDispatcher ("/ web-inf / jsp / listcart.jsp"). Forward (request, réponse); } public void doPost (requête HttpServletRequest, réponse httpservletResponse) lève ServletException, ioException {doget (request, réponse); }}Page JSP:
Webroot / web-inff / jsp / listbook.jsp: Liste des livres d'affichage
<% @ Page Language = "Java" Import = "Java.util. *" Pageencoding = "utf-8"%> <% @ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <! doctype html public "- // w3c // dtd htm.01 Transitional // en "> <html> <éad- head> <itle> Page de liste de livres </ title> </ head> <body style =" Text-Align: Center "> <h1> Liste de livres </h1> <pable> <Ttr> <Td> Titre de livre </TD> <TD> AUTEUR </TD> <TD> Prix de vente </td> <td> Description <c: foreach var = "entrée" items = "$ {map}"> <tr> <td> $ {entry.value.name} </td> <td> $ {entrée.value.price} </td> <td> $ {entrée <a href = "$ {pagecontext.request.contextpath} / servlet / buyservlet? id = $ {entry.value.id}" rel = "externe nofollow" cible = "_ Blank"> acheter </a> </ td> </tr> </ / c: foreach> </ / / body>Webroot / web-inf / jsp / listcart.jsp: afficher la liste des paniers
<% @ Page Language = "Java" Import = "Java.util. *" Pageencoding = "utf-8"%> <% @ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <! doctype html public "- // w3c // dtd htm.01 Transitional // en "> <html> <adref> <Title> CAR LIST </ Title> <Script Type =" Text / JavaScript "> Fonction DeleteItem (id) {var b = window.confirm (" Confirmez-vous la suppression ?? "); if (b) {window.location.href = "$ {pageContext.request.contextPath} / servlet / DeleteItemServlet? Id =" rel = "external nofollow" + id; }} fonction clearcart () {var b = window.confirm ("avez-vous confirmé la compensation ??"); if (b) {window.location.href = "$ {pageContext.request.contextPath} / servlet / clearcartServlet" rel = "external nofollow"; }} fonction ChangeQuantity (input, id, oldvalue) {var quantité = input.value; // Obtenez le numéro à modifier SDFSFS / * // Vérifiez si le nombre d'entrée utilisateur est un nombre si (isnan (quantité)) {alert ("Veuillez entrer le numéro !!"); input.Value = OldValue; retour; } * / // Vérifiez si le nombre d'entrée utilisateur est un entier positif if (quantité <0 || Quantity! = PaSeInt (Quantity)) {alert ("Veuillez saisir l'entier positif !!"); input.Value = OldValue; retour; } var b = window.confirm ("Vous confirmez que le nombre de livres est modifié à:" + quantité); if (b) {window.location.href = "$ {pageContext.request.contextPath} / servlet / ChangeQuantityServlet? id =" rel = "external nofollow" + id + "& quantité =" + quantité; }} </ script> </ head> <body style = "text-align: Center"> <h1> liste de paniers d'achat </h1> <c: if test = "$ {vide (cart.map)}"> Vous n'avez acheté aucun article! ! ! </c: if> <c: if test = "$ {! vide (cart.map)}"> <s table> <tr> <td> <td> Titre du livre </td> <td> Auteur </td> <td> Prix unitaire </td> <td> Quantité </td> <td> Sous-td> <td> <td> Operation </ TD> var = "entrée" items = "$ {cart.map}"> <tr> <td> $ {entrée.value.book.name} </td> <td> $ {entrée.value.book.author} </td> <td> <fant type = "nom" Nom = "Quanty" Value = "$ {entry.value.quantity}" onchange = "Changequantity (this, $ {entry.key}, $ {entry.value.quantity})"> </td> <td> $ {entry.value.pririce} </td> <td> <a href = "javascrip rel = "external nofollow" onclick = "DeleteItem ($ {entry.key})"> delete </a> <! - Supprimez le comportement par défaut des hyperliens -> </td> </tr> </c: foreach> <ttr> <td Colspan = "3"> Prix total </td> <td Colspan = "2"> $ {cartor. <td Colspan = "1"> <a href = "javascript: void (0)" rel = "external nofollow" rel = "external nofollow" onclick = "clearcart ()"> effacer le panier </a> </td> </tr> </ table> </ / c: if> </ body> </html>Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.