この記事では、Java Web 開発におけるセッションベースのショッピング ストアの実装方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。
パッケージ cn.com.shopping;import java.io.IOException;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http .HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;// 購入を完了します public class BuyServlet extends HttpServlet { private staticfinallongserialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id=request.getParameter(" id "); 本book=(Book)Db.getAll().get(id); //Cookie をオフにする場合のセッション ソリューションを追加します。 //セッションをブロックする場合のソリューション HttpSession session=request.getSession(false); // ユーザーのコレクションを取得します。セッション (ショッピング カート) から保存されたすべての書籍 List list=(List)session.getAttribute("list") if(list==null) { list=new ArrayList(); session.setAttribute("リスト", list); } list.add(book); HttpServletRequest リクエスト、HttpServletResponse レスポンス) throws ServletException、IOException { doGet(request,response); }}パッケージ cn.com.shopping;import java.io.IOException;import java.io.PrintWriter;import java.util.LinkedHashMap;import java.util.Map;import javax.servlet.ServletException ;インポート javax.servlet.http.HttpServlet;インポートjavax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;// ディスプレイブック public class ListBookServlet extends HttpServlet { private staticfinallongserialVersionUID = 1L; 、HttpServletResponse 応答) がスローされますServletException、IOException {response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); HttpSession session=request.getSession(); out.print("当店には次の製品があります:<br/>"); map=Db.getAll(); for(Map.Entry<String, Book> エントリ:map.entrySet()) { Book=entry.getValue(); String url=response.encodeURL("/Session/BuyServlet?id) ="+book.getId()); out.print(book.getName()+"<a href='"+url+"' target='_blank' >購入</a><br/>"); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); }}//Db as データベース クラス Db{ private static Map <String,Book>map=new LinkedHashMap(); static {map.put("1", new) Book("1","Java WEB 開発","WY","Good Book")); map.put("2", new Book("2","WEB 開発","zt","General") )); map.put("3", 新しい本("3","プログラミング","df","より良い本")); Book("4","コンピュータコンポーネント","as","一般的に良い本")); map.put("5", 新しい本("5","コンパイル原則","ty","非常に良い)本")); map.put("6", 新しい本("6","ネットワークメンテナンス","hj","非常に良い本")); } public static Map getAll() { return map; }} //ブッククラス Book{ プライベート文字列 ID; private String author; private String description; public Book() { super(); // TODO 自動生成コンストラクター スタブ } public Book(String id, String name, String description) { super(); id; this.name = 作者; this.description = 説明; } public String getId(String id) { this.id = id; getName() { 名前を返します } public void setName(String name) { this.name = 名前; } public String getAuthor() { 著者を返します; } public void setAuthor(String author) { this.author = 著者 } getDescription() { 説明を返す; } public void setDescription(String description) { this.description = description }}package cn.com.shopping; java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet. http.HttpServletResponse;インポートjavax.servlet.http.HttpSession; public class SessionCountDemo extends HttpServlet { private staticfinallongserialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); HttpSession session=request.getSession(); if(session==null);どの製品も購入しないでください。 "); return; } out.write("次の製品を購入しました:"); List<Book> list=(List) session.getAttribute("list"); for(Book book:list) { out.write ( book.getName()); } } protected void doPost(HttpServletRequest リクエスト、HttpServletResponse レスポンス) throws ServletException、IOException { doGet(リクエスト, レスポンス);この記事が Java Web プログラミングの皆様のお役に立てれば幸いです。