package 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 static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id=request.getParameter("id"); Book book=(Book)Db.getAll().get(id); //再加上那个关闭Cookie时session的剞劂方案 //阻止session的时候解决方案 HttpSession session=request.getSession(false); //从session中得到用户的保存所有书的集合(购物车) List list=(List)session.getAttribute("list"); if(list==null) { list=new ArrayList(); session.setAttribute("list", list); } list.add(book); String url=response.encodeRedirectURL("/Session/SessionCountDemo"); response.sendRedirect(url); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } } package cn.com.shopping; import java.io.IOException; import java.io.PrintWriter; import java.util.LinkedHashMap; import java.util.Map; 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 ListBookServlet extends HttpServlet { private static final long serialVersionUID = 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(); out.print("本店有如下的商品:<br/>"); Map<String ,Book > map=Db.getAll(); for(Map.Entry<String, Book> entry:map.entrySet()) { Book 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作为数据库 class Db { private static Map<String ,Book> map=new LinkedHashMap(); static { map.put("1", new Book("1","Java WEB开发","WY","好书")); map.put("2", new Book("2","WEB开发","zt","一般")); map.put("3", new Book("3","程序设计","df","较好书")); map.put("4", new Book("4","计算机组成","as","一般好书")); map.put("5", new Book("5","编译原理","ty","很好书")); map.put("6", new Book("6","网络维护","hj","非常好书")); } public static Map getAll() { return map; } } //书 class Book { private String id; private String name; private String author; private String description; public Book() { super(); // TODO Auto-generated constructor stub } public Book(String id, String name, String author, String description) { super(); this.id = id; this.name = name; this.author = author; this.description = description; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } } package cn.com.shopping; import 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; import javax.servlet.http.HttpSession; public class SessionCountDemo extends HttpServlet { private static final long serialVersionUID = 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) { out.write("您没买任何的商品!"); return; } out.write("您购买了如下的商品:"); List<Book> list=(List) session.getAttribute("list"); for(Book book:list) { out.write(book.getName()); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } }
详细解决方案
Java Web Session购物商店小范例
热度:156 发布时间:2013-09-18 14:17:40.0
相关解决方案
- java 乱码 汉字是 ? 如何转换成汉字
- java web 登录次数限制,该如何解决
- java 工商银行网银支付 B2B的 都亟需什么,需要注意什么
- Java Applet程序从JDK6升级到7时遇到的有关问题
- java web 视频相干
- 请教一个关于链接后缀的有关问题(java web 应用)
- java 系统单点登录解决方案
- hibernate 连接 oracle session 有关问题
- java.lang.NumberFormatException: For input string: "id"该如何处理
- java.lang.NoSuchMethodException: setId([Ljava.lang.String;)解决方法
- java 获取客户端IP解决办法
- JAVA 后台怎么获得前台页面FCKedit编辑器中的内容以及内容的样式
- java 正则化匹配有关问题
- java web 受阻
- java.lang.IllegalStateException: No output folder,该怎么解决
- java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccess,该如何解决
- java 乱码有关问题 急求大神
- java EE错误如何解决阿,都是过了,没有能解决的!
- java 工程打包有关问题 多谢各位大神!多谢
- Servlet Session 购物车,该怎么解决
- JAVA WEB导航条,该怎么处理
- java.sql.SQLException: Access denied for user 'root'@'localhost' (using password,该如何处理
- java 中Node 有关问题
- 关于 java 引述传递和值传递,你的知否
- 吐了,java Timer 终止不了。
- Java Web 学习中有关问题,请高手指教
- java web中的url地址小疑点。
- java web开发解决办法
- java.lang.NullPointerException解决方法
- 关于 java cast 有关问题,你明白不