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);  
            }  
          
        }  
  • 相关阅读:
    2017.3.11[bzoj2440][中山市选2011]完全平方数
    2017.3.6[hihocoder#1415]后缀数组三·重复旋律3
    2017.3.4[hihocoder#1407]后缀数组二·重复旋律2
    [NOI2013]快餐店
    [HNOI2014]米特运输
    [HNOI2015]亚瑟王
    [JLOI2013]卡牌游戏
    [SDOI2010]地精部落
    [ZJOI2007]棋盘制作
    [AHOI2009]中国象棋
  • 原文地址:https://www.cnblogs.com/lichone2010/p/3128154.html
Copyright © 2011-2022 走看看