JAVAEE中用Session簡單實現(xiàn)購物車功能示例代碼
更新時間:2017年03月01日 14:15:40 作者:張行之
本篇文章主要介紹了JAVAEE中用Session簡單實現(xiàn)購物車功能示例代碼,非常具有實用價值,需要的朋友可以參考下。
Session簡單實現(xiàn)購物車功能
這個小程序主要就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("<h2>書單</h2><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'>繼續(xù)購物</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'>繼續(xù)購物</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); } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)類型Integer與int的區(qū)別詳細解析
這篇文章主要介紹了Java數(shù)據(jù)類型Integer與int的區(qū)別詳細解析,Ingeter是int的包裝類,int的初值為0,Ingeter的初值為null,int和integer(無論new否)比,都為true,因為會把Integer自動拆箱為int再去比,需要的朋友可以參考下2023-12-12Java采用setAsciiStream方法檢索數(shù)據(jù)庫指定內(nèi)容實例解析
這篇文章主要介紹了Java采用setAsciiStream方法檢索數(shù)據(jù)庫指定內(nèi)容,是比較實用的功能,需要的朋友可以參考下2014-08-08