龙空技术网

Java之道丨用Session简单实现购物车功能示例代码

天之道居 180

前言:

此时兄弟们对“用java编写购物车”可能比较注重,朋友们都需要了解一些“用java编写购物车”的相关内容。那么小编也在网络上收集了一些对于“用java编写购物车””的相关文章,希望大家能喜欢,各位老铁们快快来学习一下吧!

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);

}

}

标签: #用java编写购物车