Dieser Artikel teilt mit Ihnen die relevanten Methoden, um Cookies zu verwenden, um kürzlich angezeigte Bücher als Referenz anzuzeigen. Der spezifische Inhalt ist wie folgt
1.Benpaket
importieren java.io.serializable; Public Class Book implementiert serialisierbare {private String -ID; privater Zeichenfolge Name; privater Stringpreis; private String auth; private String Publish; private Zeichenfolge Beschreibung; public book () {} public book (String -ID, String -Name, String -Preis, String -Auth, String Publish, String Beschreibung) {Super (); this.id = id; this.name = name; this.price = Preis; this.Auth = auth; this.publish = veröffentlichen; this.description = Beschreibung; } public String getDescription () {Rückgabe Beschreibung; } public void setDescription (String Beschreibung) {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 getPrice () {Rückgabepreis; } public void setPrice (String -Preis) {this.price = price; } public String getAuth () {return auth; } public void setAuth (String auth) {this.Auth = auth; } public String getPublish () {return veröffentlichen; } public void setpublish (String veröffentlichen) {this.publish = publish; }} 2. DAO -Paket
Import Java.util.linkedHashMap; Import Java.util.Map; Import cn.huiyu.ben.book; public class bookDao {private statische Karte <String, Buch> bookmap = new linkedHashMap <String, Buch> (); private bookdao () {} static {bookMap.put ("1", neues Buch ("1", "1111", "11.0", "Zqwang", "111 Press", "1111111111"); bookmap.put ("2", neues Buch ("2", "2222", "22.0", "Zqwang", "2222222222"); bookmap.put ("3", neues Buch ("3", "3333", "33,0", "Zqwang", "3333333333"); } public static map <String, Buch> getBooks () {return bookMap; } public static book getbook (String id) {return bookMap.get (id); }} 3. Servlet
public void dodget (httpServletRequest request, httpServletResponse-Antwort) löst ServletException aus, ioException {response.setContentType ("text/html; charset = utf-8"); // 1. Fragen Sie alle Bücher in der Datenbank ab, um MAP <String, Buch> map = bookDao.getBooks () anzuzeigen; für (map.entry <String, Buch> Eintrag: map.EntrySet ()) {book book = Eintrag.getValue (); Antwort.getWriter (). Write ("<a href = '"+request.getContextPath ()+"/servlet/bookInfoServlet? id ="+book.getid ()+"'>"+book.getName ()+"</a> <br>"); } response.getWriter (). Write ("<hr>"); // 2. Zeigen Sie die Bücher, die ich vor Cookie [] cs = Request.GetCookies () gelesen habe; Cookie findc = null; if (cs! }}} if (findc == null) {response.getWriter (). Schreiben ("Ich habe keine Bücher gelesen!"); } else {response.getWriter (). Schreiben ("Die Bücher, die Sie durchsucht haben: <br>"); String [] ids = findc.getValue (). Split (","); für (String id: ids) {book book = bookDao.getbook (id); response.getWriter (). Schreiben (book.getName ()+"<br>"); }}} 4. Servlet
public void dodget (httpServletRequest request, httpServletResponse-Antwort) löst ServletException aus, ioException {response.setContentType ("text/html; charset = utf-8"); // 1. Lassen Sie die ID des Buches gelesen, die Datenbank abfragen, um das Buch zu finden, und geben Sie die detaillierten Informationen der Buchstring -ID = Request.GetParameter ("ID") aus. Book book = bookDao.getbook (id); if (book == null) {response.getWriter (). Schreiben ("Dieses Buch kann nicht gefunden werden!"); zurückkehren; } else {response.getWriter (). Write ("<h1> title:"+book.getName ()+"</h1>"); Antwort.getWriter (). Schreiben ("<h3> Autor:"+book.getAuth ()+"</h3>"); response.getWriter (). Schreiben ("<H3> Verkaufspreis:"+book.getPrice ()+"</h3>"); Antwort.getWriter (). Write ("<H3> Publisher:"+book.getPublish ()+"</h3>"); Antwort.getWriter (). Schreiben ("<h3> Beschreibung:"+book.getDescription ()+"</h3>"); } // 2. Senden Sie Cookies, um das letzte Buch zu sparen, das Sie gelesen haben //-1-> 1 // 1-2,1-> 2,1 // 2,1--3,2,1-> 3,2,1 // 3,2,1-> 3,2,1-> 4,3,2-> 4,3,2 // 4,3,2-3,4,2-> 3,2,2 String Ids = "; Cookie [] cs = request.getCookies (); Cookie findc = null; if (cs! }}} if (findc == null) {// Erläuterungsdatensätze, die das Buch vor ids += book.getId () nicht gelesen haben; } else {// Erläuterungsdatensätze von Büchern, die zuvor in der Geschichte gelesen wurden, und ein neuer Datensatz muss basierend auf der Geschichte der Geschichte [] olds = findc.getValue () berechnet werden. Split (","); StringBuffer Buffer = new StringBuffer (); Buffer.Append (book.getId ()+","); für (int i = 0; i <olds.length && buffer.toString (). split (","). Länge <3; i ++) {String old = Olds [i]; if (! old.equals (book.getId ()) {buffer.append (old+","); }} ids = buffer.substring (0, buffer.length ()-1); } Cookie lastc = new Cookie ("last", ids); LastC.SetMaxage (3600*24*30); lastc.setPath (request.getContextPath ()); response.addcookie (lastc); }Das obige dreht sich alles um diesen Artikel. Ich hoffe, es wird für alle hilfreich sein, zu lernen, wie man Cookies verwendet, um kürzlich angezeigte Bücher anzuzeigen.