Java Web开发之基于Session的购物商店实现方法
本文实例讲述了JavaWeb开发之基于Session的购物商店实现方法。分享给大家供大家参考,具体如下:
packagecn.com.shopping; importjava.io.IOException; importjava.util.ArrayList; importjava.util.List; importjavax.servlet.ServletException; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importjavax.servlet.http.HttpSession; //完成购买 publicclassBuyServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L; protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringid=request.getParameter("id"); Bookbook=(Book)Db.getAll().get(id); //再加上那个关闭Cookie时session的剞劂方案 //阻止session的时候解决方案 HttpSessionsession=request.getSession(false); //从session中得到用户的保存所有书的集合(购物车) Listlist=(List)session.getAttribute("list"); if(list==null) { list=newArrayList(); session.setAttribute("list",list); } list.add(book); Stringurl=response.encodeRedirectURL("/Session/SessionCountDemo"); response.sendRedirect(url); } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ doGet(request,response); } } packagecn.com.shopping; importjava.io.IOException; importjava.io.PrintWriter; importjava.util.LinkedHashMap; importjava.util.Map; importjavax.servlet.ServletException; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importjavax.servlet.http.HttpSession; //显示书 publicclassListBookServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L; protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); PrintWriterout=response.getWriter(); HttpSessionsession=request.getSession(); out.print("本店有如下的商品:<br/>"); Map<String,Book>map=Db.getAll(); for(Map.Entry<String,Book>entry:map.entrySet()) { Bookbook=entry.getValue(); Stringurl=response.encodeURL("/Session/BuyServlet?id="+book.getId()); out.print(book.getName()+"<ahref='"+url+"'target='_blank'>购买</a><br/>"); } } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ doGet(request,response); } } //Db作为数据库 classDb { privatestaticMap<String,Book>map=newLinkedHashMap(); static { map.put("1",newBook("1","JavaWEB开发","WY","好书")); map.put("2",newBook("2","WEB开发","zt","一般")); map.put("3",newBook("3","程序设计","df","较好书")); map.put("4",newBook("4","计算机组成","as","一般好书")); map.put("5",newBook("5","编译原理","ty","很好书")); map.put("6",newBook("6","网络维护","hj","非常好书")); } publicstaticMapgetAll() { returnmap; } } //书 classBook { privateStringid; privateStringname; privateStringauthor; privateStringdescription; publicBook(){ super(); //TODOAuto-generatedconstructorstub } publicBook(Stringid,Stringname,Stringauthor,Stringdescription){ super(); this.id=id; this.name=name; this.author=author; this.description=description; } publicStringgetId(){ returnid; } publicvoidsetId(Stringid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetAuthor(){ returnauthor; } publicvoidsetAuthor(Stringauthor){ this.author=author; } publicStringgetDescription(){ returndescription; } publicvoidsetDescription(Stringdescription){ this.description=description; } } packagecn.com.shopping; importjava.io.IOException; importjava.io.PrintWriter; importjava.util.List; importjavax.servlet.ServletException; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importjavax.servlet.http.HttpSession; publicclassSessionCountDemoextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L; protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); PrintWriterout=response.getWriter(); HttpSessionsession=request.getSession(); if(session==null) { out.write("您没买任何的商品!"); return; } out.write("您购买了如下的商品:"); List<Book>list=(List)session.getAttribute("list"); for(Bookbook:list) { out.write(book.getName()); } } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ doGet(request,response); } }
希望本文所述对大家Javaweb程序设计有所帮助。