import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class ShopCar
*/
@WebServlet("/ShopCar")
public class ShopCar extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* 添加购物车
*/
public ShopCar() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String action = request.getParameter("action");
HttpSession session = request.getSession();
if ("add".equals(action)) {
String id= request.getParameter("id");
String name= request.getParameter("name");
int number= Integer.parseInt(request.getParameter("number"));
float price = Float.parseFloat(request.getParameter("price"));
Goods goods = new Goods(id, name, price, number);
ArrayList bookList = (ArrayList) session.getAttribute("book");
if (bookList==null) {
bookList = new ArrayList();
bookList.add(goods);
session.setAttribute("book", bookList);
String url = response.encodeRedirectURL("ShowResultServlet.do");
response.sendRedirect(url);
}else {
Iterator it = bookList.iterator();
for (int i = 0; i < bookList.size(); i++) {
Goods book = (Goods) bookList.get(i);
if (book.compareTo(goods)==0) {
out.println("你已经订购了此书籍");
return;
}
}
bookList.add(goods);
session.setAttribute("book", bookList);
String url = response.encodeRedirectURL("ShowResultServlet.do");
response.sendRedirect(url);
}
}else {
out.println("<html>");
out.println("<head>");
out.println("<meta charset=\"UTF-8\">");
out.println("<TITLE>购物车</TITLE>");
out.println("</head>");
out.println("<body>");
out.println("<form method = post action= "+response.encodeURL("ShopCar?action=add")+">");
out.println("id<input type=text name =id> <br/><br/>");
out.println("name<input type=text name =name> <br/><br/>");
out.println("number<input type=text name =number> <br/><br/>");
out.println("price<input type=text name =price> <br/><br/>");
out.println("<input type=submit value=添加> <br/><br/>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
}——————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* 显示购物车信息
*/
@WebServlet("/ShowResultServlet.do")
public class ShowResultServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ShowResultServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
HttpSession session= request.getSession();
ArrayList bookList = (ArrayList) session.getAttribute("book");
for (int i = 0; i < bookList.size(); i++) {
Goods book = (Goods) bookList.get(i);
out.println(book.getId()+","+book.getName()+","+book.getNumber()+","+book.getPrice()+"<br/>");
}
out.println("<hr>");
out.println("<a href="+response.encodeRedirectURL("ShopCar")+">返回<a/>");
out.close();
}
}