Session簡單實現購物車功能
這個小程序主要就3個頁面,一個商品列表頁面(HomeServlet),一個是提示加入購物車頁面(AddCartTipServlet),一個是顯示購物車清單頁面(ShowCartServlet)。
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("<h3>書單</h3><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);
}
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。