zoukankan      html  css  js  c++  java
  • Session简单实现购物功能

    1,IndexServlet.java 主页Servlet实现主页显示商品

        import java.io.IOException;  
        import java.io.PrintWriter;  
        import java.util.LinkedHashMap;  
        import java.util.Map;  
        import java.util.Set;  
        import javax.servlet.ServletException;  
        import javax.servlet.http.HttpServlet;  
        import javax.servlet.http.HttpServletRequest;  
        import javax.servlet.http.HttpServletResponse;  
          
        //首页:列出所有书  
        public class IndexServlet extends HttpServlet {  
          
            public void doGet(HttpServletRequest request, HttpServletResponse response)  
                    throws ServletException, IOException {  
                response.setContentType("text/html;charset=UTF-8");  
                PrintWriter out = response.getWriter();   
                request.getSession();     
                out.write("本网站有如下书:<br/>");     
                Set<Map.Entry<String,Book>> set = DB.getAll().entrySet();  
                for(Map.Entry<String,Book> me : set){  
                    Book book = me.getValue();  
                    String url = "/day07/servlet/BuyServlet?id=" + book.getId();  
                    url = response.encodeURL(url);  
                    out.println(book.getName()  + "   <a href='"+url+"'>购买</a><br/>");  
                }     
            }  
          
            public void doPost(HttpServletRequest request, HttpServletResponse response)  
                    throws ServletException, IOException {  
                doGet(request, response);  
            }  
          
        }  

    2,BuyServlet.java 该Servlet实现购买页面

        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 {  
            public void doGet(HttpServletRequest request, HttpServletResponse response)  
                    throws ServletException, IOException {  
                String id = request.getParameter("id");  
                Book book = (Book) DB.getAll().get(id);  //得到用户想买的书   
                HttpSession session = request.getSession();  
                /*Cookie cookie = new Cookie("JSESSIONID",session.getId()); 
                cookie.setMaxAge(30*60); 
                cookie.setPath("/day07"); 
                response.addCookie(cookie);*/     
                List list = (List) session.getAttribute("list");  //得到用户用于保存所有书的容器  
                if(list==null){  
                    list = new ArrayList();  
                    session.setAttribute("list", list);  
                }  
                list.add(book);  
                //request.getRequestDispatcher("/servlet/ListCartServlet").forward(request, response);    
                String url = response.encodeRedirectURL("/day07/servlet/ListCartServlet");//重新URL  
                //System.out.println(url);  
                response.sendRedirect(url);   
            }  
            public void doPost(HttpServletRequest request, HttpServletResponse response)  
                    throws ServletException, IOException {  
                doGet(request, response);  
            }  
          
        }  

    3,ListCartServlet.java 实现将购买的商品通过Session保存发给ListCartServlet,显示你购买的商品

        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 ListCartServlet extends HttpServlet {  
          
            public void doGet(HttpServletRequest request, HttpServletResponse response)  
                    throws ServletException, IOException {  
                response.setContentType("text/html;charset=UTF-8");  
                PrintWriter out = response.getWriter();   
                HttpSession session = request.getSession();  
                List<Book> list = (List) session.getAttribute("list");  
                if(list==null || list.size()==0){  
                    out.write("对不起,您还没有购买任何商品!!");  
                    return;  
                }     
                //显示用户买过的商品  
                out.write("您买过如下商品:<br>");  
                for(Book book : list){  
                    out.write(book.getName() + "<br/>");  
                }         
            }  
            public void doPost(HttpServletRequest request, HttpServletResponse response)  
                    throws ServletException, IOException {  
          
                doGet(request, response);  
            }  
          
        }  
  • 相关阅读:
    [Javascript] twitterbootstrap: 解决2.1版本中modal加载远程内容时,只加载一次的问题
    向大型网站学习SEO优化之道
    [Yii Framework] 使用Yii Framework开发微信公众平台
    [jQuery] ajax跨域处理方式
    [jQuery] form提交到iframe之后,获取iframe里面内容
    [Ubuntu] fatal: recursion detected in die handler
    [Yii Framework] Yii如何实现前后台的session分离
    [ubuntu] ubuntu13.04 64bit,安装FastDFS4.06过程遇到的问题和解决方案
    [转] 怎样在Ubuntu上安装Git服务器
    [ubuntu] ubuntu13.04切换桌面/工作区的方法
  • 原文地址:https://www.cnblogs.com/lichone2010/p/3128154.html
Copyright © 2011-2022 走看看