javaWeb_08-用session实现简单的购物
2013-02-16 23:23
429 查看
08-用session实现简单的购物
像一些大型的商务网站都是使用Cookie,少用session,为了减轻服务器负担。
X
ddd
像一些大型的商务网站都是使用Cookie,少用session,为了减轻服务器负担。
X
首页
package com.rsl.Session; import java.io.IOException; import java.io.PrintWriter; import java.io.Serializable; import java.util.Arrays; import java.util.LinkedHashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class SessionDemo8 */ @WebServlet("/SessionDemo8") public class SessionDemo8 extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); //1,输出网站所有商品 out.write("本网站有如下商品:"); Map map = Db.getAll(); /*for(Map.Entry entry:map.entrySet()){ Book book = entry.getValue(); out.print(book.getName()+""+"购买"+""); }*/ /*----------------------------当用户禁用cookie之后哟这样写-------------------------------------*/ //首先得到session request.getSession(); for(Map.Entry entry:map.entrySet()){ Book book = entry.getValue(); String url = response.encodeURL("/day07/SessionDemo8_1?id="+book.getId()); out.print(book.getName()+""+"购买"+""); } /*-----------------------------------------------------------------*/ } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } } /*-------------------模拟数据库,存储书籍信息---------------------*/ class Db{ private static LinkedHashMap map = new LinkedHashMap(); static { map.put("1",new Book("1", "数学", "张三", "math")); map.put("2",new Book("2", "语文", "里斯", "chinese")); map.put("3",new Book("3", "英语", "王五", "english")); map.put("4",new Book("4", "化学", "赵六", "chemistry")); } public static Map getAll(){ return map; } } /*-------------------维护对象---------------------*/ class Book implements Serializable{ 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; } private String id; private String name; private String author; private String 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 com.rsl.Session; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * Servlet implementation class SessionDemo8 */ @WebServlet("/SessionDemo8_1") public class SessionDemo8_1 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 = Db.getAll().get(id); HttpSession session = request.getSession(); //从session得到用户用于保存所有书的集合(购物车); List list = (List) session.getAttribute("list"); if(list == null){ list = new ArrayList(); session.setAttribute("list",list); } list.add(book); /*细节一: * 使用转发会导致,重复刷新 ,重复提交表单 * request.getRequestDispatcher("/SessionDemo8_2").forward(request, response); */ //细节二:使用request.getContextPath()代替死板的工程名称 //不禁用 response.sendRedirect(request.getContextPath()+"/SessionDemo8_2"); /*----------------------------当用户禁用cookie之后哟这样写-------------------------------------*/ String url = response.encodeRedirectURL(request.getContextPath()+"/SessionDemo8_2"); response.sendRedirect(url); /*----------------------------end-------------------------------------*/ } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }
显示结构页
package com.rsl.Session; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * Servlet implementation class SessionDemo8_2 */ @WebServlet("/SessionDemo8_2") public class SessionDemo8_2 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(false); if(session == null){ out.write("您没有购买任何商品"); return; } out.write("您购买了如下商品:"); List list = (List)session.getAttribute("list"); for(Book book:list){ out.write(book.getName()+""); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }
ddd
相关文章推荐
- javaweb之Session实现简单的购物(URL重写。Cookie重写指定有效日期)和简单的验证结论
- java-web京东购物网 加入购物车与查看购物车的实现运用session服务器端(在数据库中查询)
- 简单的Java Web项目(2)——session实现简单的购物车
- JavaWeb_06_session_简单购物
- java实现简单web服务器(分析+源代码)
- java实现最简单的web聊天室程序源代码,适合初学者
- 【Java.Web】Session —— Session的持久化(容器实现此功能)
- Java Web中的入侵检测及简单实现
- Java Web中的入侵检测及简单实现
- java Web service 简单实现两数相乘
- java实现简单web容器(线程池)
- 利用Session实现简单购物
- java中集合的运用,实现一个简单的购物程序
- java web 项目中 简单定时器实现 Timer
- Java Web Session购物商店小实例
- java实现简单的 自定义web容器 tomcatweb服务器
- Java Web中的入侵检测及简单实现
- session实现简单购物车
- JavaWeb项目:Shiro实现简单的权限控制(整合SSM)
- 应用Druid进行数据源、SQL、Web应用、URI、Session等监控的简单实现