您好,登錄后才能下訂單哦!
Session簡單實現購物車功能
這個小程序主要就3個頁面,一個商品列表頁面(HomeServlet),一個是提示加入購物車頁面(AddCartTipServlet),一個是顯示購物車清單頁面(ShowCartServlet)。
HomeServlet頁面:
@WebServlet({ "/HomeServlet", "/home" }) public class HomeServlet extends HttpServlet { private static final long serialVersionUID = 1L; public HomeServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.print("<h3>書單</h3><hr/><br/>"); out.print("人類簡史<a href='"+request.getContextPath()+"/addCartTip?id=1'>加入購物車</a><br/>"); out.print("未來簡史<a href='"+request.getContextPath()+"/addCartTip?id=2'>加入購物車</a><br/>"); out.print("世界簡史<a href='"+request.getContextPath()+"/addCartTip?id=3'>加入購物車</a><br/>"); out.print("時間簡史<a href='"+request.getContextPath()+"/addCartTip?id=4'>加入購物車</a><br/>"); out.print("<a href='"+request.getContextPath()+"/show/cart'>查看購物車</a><br/>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
AddCartTipServlet頁面:
@WebServlet({ "/AddCartTipsServlet", "/addCartTip" }) public class AddCartTipsServlet extends HttpServlet { private static final long serialVersionUID = 1L; public AddCartTipsServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); HttpSession session = request.getSession(); List<String> list = (List<String>) session.getAttribute("cart"); if(list==null){ list=new ArrayList<>(); } String id = request.getParameter("id"); list.add(id); session.setAttribute("cart", list); System.out.println(list.toString()); response.getWriter().println("已加入購物車<br/>" + "<a href='"+request.getContextPath()+"/home'>繼續購物</a><br/>" + "<a href='"+request.getContextPath()+"/show/cart'>查看購物車</a><br/>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
ShowCartSevlet頁面
@WebServlet({ "/ShowCartServlet", "/show/cart" }) public class ShowCartServlet extends HttpServlet { private static final long serialVersionUID = 1L; public ShowCartServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); List<String> list = (List<String>)request.getSession().getAttribute("cart"); if(list!=null){ out.print("你的購物清單:<br/>"); for (String string : list) { out.println(DBUtils.findById(string)+"<br/>"); } out.println("<br/><a href='"+request.getContextPath()+"/home'>繼續購物</a><br/>"); }else{ out.println("你還沒有將商品添加到購物車<br/>" + "<a href='"+request.getContextPath()+"/home'>返回商品列表</a><br/>"); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
DBUtils:存儲著商品信息
public class DBUtils { private static Map<String,String> map = new HashMap<>(); static{ map.put("1", "人類簡史"); map.put("2", "未來簡史"); map.put("3", "世界簡史"); map.put("4", "時間簡史"); } public static String findById(String id){ return map.get(id); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。