JAVAEE에서 Session으로 카트 기능 예제 코드 간단히 구현

5146 단어 java쇼핑 카트
Session 간단한 카트 기능
이 작은 프로그램은 주로 세 페이지, 상품 목록 페이지(Home Servlet), 하나는 쇼핑 카트 페이지(Add Cart Tip Servlet)에 가입하라는 알림, 하나는 쇼핑 카트 목록 페이지(Showcart Servlet)를 표시합니다.
HomeServlet 페이지:

@WebServlet({ "/HomeServlet", "/home" })
public class HomeServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;

  public HomeServlet() {
    super();
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.print("<h2> </h2><hr/><br/>");
    out.print(" <a href='"+request.getContextPath()+"/addCartTip?id=1'> </a><br/>");
    out.print(" <a href='"+request.getContextPath()+"/addCartTip?id=2'> </a><br/>");
    out.print(" <a href='"+request.getContextPath()+"/addCartTip?id=3'> </a><br/>");
    out.print(" <a href='"+request.getContextPath()+"/addCartTip?id=4'> </a><br/>");
    out.print("<a href='"+request.getContextPath()+"/show/cart'> </a><br/>");
  }

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
  }

}

AddCartTipServlet 페이지:

@WebServlet({ "/AddCartTipsServlet", "/addCartTip" })
public class AddCartTipsServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;


  public AddCartTipsServlet() {
    super();
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");

    HttpSession session = request.getSession();
    List<String> list = (List<String>) session.getAttribute("cart");
    if(list==null){
      list=new ArrayList<>();
    }

    String id = request.getParameter("id");
    list.add(id);
    session.setAttribute("cart", list);

    System.out.println(list.toString());
    response.getWriter().println(" <br/>"
        + "<a href='"+request.getContextPath()+"/home'> </a><br/>"
        + "<a href='"+request.getContextPath()+"/show/cart'> </a><br/>");
  }

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
  }

}

ShowcartSevlet 페이지

@WebServlet({ "/ShowCartServlet", "/show/cart" })
public class ShowCartServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;

  public ShowCartServlet() {
    super();
  }


  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    List<String> list = (List<String>)request.getSession().getAttribute("cart");
    if(list!=null){   
      out.print(" :<br/>");
      for (String string : list) {
        out.println(DBUtils.findById(string)+"<br/>");
      }
      out.println("<br/><a href='"+request.getContextPath()+"/home'> </a><br/>");
    }else{
      out.println(" <br/>"
          + "<a href='"+request.getContextPath()+"/home'> </a><br/>");
    }
  }

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
  }

}

DBUtils: 상품 정보 저장

public class DBUtils {
  private static Map<String,String> map = new HashMap<>();

  static{
    map.put("1", " ");
    map.put("2", " ");
    map.put("3", " ");
    map.put("4", " ");
  }

  public static String findById(String id){
    return map.get(id);
  }

}
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기