更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
请按照以下要求设计一个购物车的类PurchaseServlet。
书籍数据如下:
Public class Book {
private static final long serialVersionUID = 1L;
private String id;
private String name;
// getter/setter方法省略
public Book(String id, String name) {
this.id = id;
this.name = name;
}
}
Public class BookDB {
private static Map books = new LinkedHashMap();
static {
books.put("1", new Book("1", "javaweb开发"));
books.put("2", new Book("2", "jdbc开发"));
books.put("3", new Book("3", "java基础"));
books.put("4", new Book("4", "struts开发"));
books.put("5", new Book("5", "spring开发"));
}
// 获得所有的图书
public static Collection getAll() {
return books.values();
}
// 根据指定的id获得图书
public static Book getBook(String id) {
return books.get(id);
}
}
ListBookServlet.java代码:
@WebServlet(name = "ListBookServlet", urlPatterns = "/ListBookServlet")
Public class ListBookServlet 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 books = BookDB.getAll();
out.write("本站提供的书籍有:
");
for (Book book : books) {
String url = "PurchaseServlet?id=" + book.getId();
out.write(book.getName() + " + "'>点击购买
");
}
}
}
BookServlet.java代码:
@WebServlet(name = "BookServlet", urlPatterns = "/BookServlet")
Public class BookServlet extends HttpServlet {
Public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
// 变量cart引用用户的购物车
List cart = null;
// 变量purFlag标记用户是否买过商品
boolean purFlag = true;
// 获得用户的session
HttpSession session = req.getSession(false);
// 如果session为null,purFlag置为false
if (session == null) {
purFlag = false;
} else {
// 获得用户购物车
cart = (List) session.getAttribute("cart");
// 如果用的购物车为null,purFlag置为false
if (cart == null) {
purFlag = false;
}
}
/*
* 如果purFlag为false,表明用户没有购买蛋糕 重定向到ListServlet页面
*/
if (!purFlag) {
out.write("对不起!您还没有购买任何商品!
");
} else {
// 否则显示用户购买蛋糕的信息
out.write("您购买的书籍有:
");
double price = 0;
for (Book book : cart) {
out.write(book.getName() + "
");
}
}
}
}
要求如下:
1)    创建一个PurchaseServlet类,使其继承HttpServlet类并重写该类的doGet()方法;
2)    在doGet()方法中,使用request.getSession()实现购物车;
3)    将session的id保存到cookie中;
4)    重定向到BookServlet。,>,>
1