小型购物车模块
1.Arms.java
package top.imustshop;
import java.io.Serializable;
public class Arms implements Serializable {
private static final long serialVersionUID=1L;
private String id;
private String name;
public Arms(){
}
public Arms(String id ,String name){
this.id=id;
this.name=name;
}
public String getId(){
return id;
}
public void setId(String id){
this.id=id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
2.ArmsDB.java
package top.imustshop;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
public class ArmsDB {
private static Map<String, Arms> Arms = new LinkedHashMap<String, Arms>();
static {
Arms.put("1", new Arms("1", "W8fuckcdn"));
Arms.put("2", new Arms("2", "御剑"));
Arms.put("3", new Arms("3", "中国蚁剑"));
Arms.put("4", new Arms("4", "unlead gif"));
Arms.put("5", new Arms("5", "Wireshark"));
}
public static Collection<Arms> getAll() {
return Arms.values();
}
public static Arms getArms(String id) {
return Arms.get(id);
}
}
3.ListArmsServlet.java
package top.imustshop;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
public class ListArmsServlet extends HttpServlet {
private static final long serialVersionUID=1L;
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
Collection<Arms> Arms = ArmsDB.getAll();
out.write("军火库:<br />");
for(Arms Arm:Arms){
String url ="/purchase?id="+Arm.getId();
HttpSession s=req.getSession();
String newUrl=resp.encodeRedirectURL(url);
out.write(Arm.getName()+" "+"<a href='"+newUrl
+"'>点击购买</a><br />");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
4.PurchaseArms.java
package top.imustshop;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class PurchaseArms extends HttpServlet {
private static final long serialVersionUID=1L;
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String id = req.getParameter("id");
if (id == null) {
String url = "/listarms";
resp.sendRedirect(url);
return;
}
Arms book = ArmsDB.getArms(id);
HttpSession session = req.getSession();
List<Arms> cart = (List) session.getAttribute("cart");
if (cart == null) {
cart = new ArrayList<Arms>();
session.setAttribute("cart", cart);
}
cart.add(book);
Cookie cookie = new Cookie("JSESSIONID", session.getId());
cookie.setMaxAge(60 * 30);
cookie.setPath("/");
resp.addCookie(cookie);
String url = "/cart";
String newurl = resp.encodeRedirectURL(url);
resp.sendRedirect(newurl);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
5.CartServlet.java
package top.imustshop;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
public class CartServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
List<Arms> cart = null;
boolean purFlag = true;
HttpSession session = req.getSession(false);
if (session == null) {
purFlag = false;
} else {
cart =(List) session.getAttribute("cart");
if (cart == null) {
purFlag = false;
}
}
if (!purFlag) {
out.write("对不起!您还没有购买任何商品! <br />");
} else {
out.write("您购买的软件列表:<br />");
double price = 0;
for (Arms arm : cart) {
out.write(arm.getName() + "<br />");
}
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}