Este artigo compartilha com você os métodos relevantes de usar cookies para exibir livros visualizados recentemente para sua referência. O conteúdo específico é o seguinte
1.Ben Package
importar java.io.serializable; public class Book implementa serializável {private string ID; nome de string privado; preço privado da string; Auth String Private; Publish de String Private; Descrição de String Private; public book () {} public book (string id, nome da string, preço da string, string auth, string publish, string description) {super (); this.id = id; this.name = nome; this.price = preço; this.auth = auth; this.publish = publish; this.Description = Descrição; } public string getDescription () {return description; } public void SetDescription (String description) {this.Description = Descrição; } public string getId () {return id; } public void setId (string id) {this.id = id; } public string getName () {return name; } public void setName (nome da string) {this.name = name; } public String getPrice () {Return Price; } public void setPrice (preço da string) {this.price = price; } public string getAuth () {return auth; } public void setauth (string auth) {this.auth = auth; } public string getPublish () {return publish; } public void setPublish (string publish) {this.publish = publish; }} 2. Pacote Dao
importar java.util.LinkedHashmap; importar java.util.map; importar cn.huiyu.ben.book; classe pública bookdao {mapa estático privado <string, book> bookmap = new LinkedHashmap <string, book> (); private bookdao () {} static {bookmap.put ("1", novo livro ("1", "1111", "11.0", "zqwang", "111 Press", "1111111111")); bookmap.put ("2", novo livro ("2", "2222", "22.0", "zqwang", "2222222222")); bookmap.put ("3", novo livro ("3", "3333", "33.0", "zqwang", "3333333333")); } mapa estático público <string, book> getBooks () {return bookmap; } public static book getbook (string id) {return bookmap.get (id); }} 3.Servlet
Public void Doget (solicitação httpServletRequest, resposta httpServletResponse) lança servletexception, ioexception {Response.setContentType ("text/html; charset = utf-8"); // 1. Consulte todos os livros no banco de dados para exibir mapa <string, book> map = bookdao.getbooks (); para (map.entry <string, book> entrada: map.entrySet ()) {book book = Entry.getValue (); Response.getWriter (). Write ("<a href = '"+request.getContextPath ()+"/servlet/bookinfoservlet? id ="+book.getid ()+"'>"+book.getName ()+"</a> <br>"); } Response.getWriter (). Write ("<HR>"); // 2. Mostre os livros que li antes do cookie [] cs = request.getcookies (); Cookie findc = null; if (cs! = null) {for (cookie c: cs) {if ("last" .equals (c.getName ())) {findc = c; }}} if (findc == null) {Response.getWriter (). Write ("Eu não li nenhum livro!"); } else {Response.getWriter (). Write ("Os livros que você navegou: <br>"); String [] ids = findc.getValue (). Split (","); for (string id: ids) {livro de livros = bookdao.getbook (id); Response.getWriter (). Write (book.getName ()+"<br>"); }}} 4.Servlet
Public void Doget (solicitação httpServletRequest, resposta httpServletResponse) lança servletexception, ioexception {Response.setContentType ("text/html; charset = utf-8"); // 1. Obtenha o ID do livro a ser lido, consulte o banco de dados para encontrar o livro e produza as informações detalhadas do livro String id = request.getParameter ("id"); Livro do livro = bookdao.getbook (id); if (book == null) {Response.getWriter (). Write ("Este livro não pode ser encontrado!"); retornar; } else {Response.getWriter (). Write ("<H1> Título:"+book.getName ()+"</h1>"); Response.getWriter (). Write ("<H3> Autor:"+book.getauth ()+"</h3>"); Response.getWriter (). Write ("<H3> Preço de venda:"+book.getprice ()+"</h3>"); Response.getWriter (). Write ("<H3> editor:"+book.getpublish ()+"</h3>"); Response.getWriter (). Write ("<H3> Descrição:"+book.getDescription ()+"</h3>"); } // 2. Envie cookies para salvar o último livro que você leu // --- 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,2,2 --3,2,2-> 3,2-> 3,2-> 3,2,2 // "3,2,2 --3,2-> 3,2,2-> 3,2-> 4,3,2 //" 2,2,2 --3,2-> 3,2,2-> 3,2; Cookie [] cs = request.getCookies (); Cookie findc = null; if (cs! = null) {for (cookie c: cs) {if ("last" .equals (c.getName ())) {findc = c; }}} if (findc == null) {// Registros de explicação que não leram o livro antes do IDS += book.getId (); } else {// Registros de explicação dos livros que foram lidos na história antes, e um novo registro precisa ser calculado com base na string histórico [] antigo = findc.getValue (). Split (","); StringBuffer buffer = new StringBuffer (); buffer.append (book.getId ()+","); for (int i = 0; i <antigo.Length && buffer.tostring (). split (","). comprimento <3; i ++) {string antigo = Olds [i]; if (! Old.Equals (book.getId ())) {buffer.append (antigo+","); }} 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); }O acima é tudo sobre este artigo. Espero que seja útil que todos aprendam a usar cookies para exibir livros visualizados recentemente.