一.实验课题
会话技术Cookie和Session的应用
二. 实验目的
1.掌握Cookie对象和常用API的运用。
2.掌握Session对象和常用API的运用。
三. 实验内容
1、完成课本任务5-2。
2、完成课本任务5-3。
四. 实验步骤
在以下表格中给出实验内容的相应代码。
5-2 实现购物车
BOOK.java
1./**
2. * BOOK.java
3. */
4.
5.package sessioin.shoppingcar;
6.
7./**
8. * @Title:BookStore Shopping cart
9. * @Description: [用session建一个购物车]
10. * @Param:
11. * @author <a href="mail to: 1018726071@qq.com">JSQ97</a>
12. * @CreateDate: 2020年5月30日 下午4:08:01</p>
13. * @update: [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]
14. *
15. * 1.方法与步骤
16. * 1)创建Book封装图书信息:Book
17. * 2)创建BookDataBase 模拟数据库,里面保存图书
18. * 3)提供图书的购买页面:ListBookServlet
19. * 4)添加购物车:PurcharseServlet
20. * 5)回显购物车图书信息:CartServlet
21. */
22.public class Book {
23. private String id;
24. private String name;
25. //Alt+shift+s 创造构造参数快捷键
26. /**
27. *
28. */
29. public Book() {
30.
31. }
32.
33. /**
34. * @param id
35. * @param name
36. */
37. public Book(String id, String name) {
38. this.id = id;
39. this.name = name;
40. }
41.
42. /**
43. * @return the id
44. */
45. public String getId() {
46. return id;
47. }
48. /**
49. * @param id the id to set
50. */
51. public void setId(String id) {
52. this.id = id;
53. }
54. /**
55. * @return the name
56. */
57. public String getName() {
58. return name;
59. }
60. /**
61. * @param name the name to set
62. */
63. public void setName(String name) {
64. this.name = name;
65. }
66.
67.}
BookStoreDataBase.java
1.package sessioin.shoppingcar;
2.
3.import java.util.Collection;
4.import java.util.LinkedHashMap;
5.import java.util.Map;
6.
7./**
8. * @Title:BookStoreDataBase
9. * @Description: [创建一个模拟的数据库]
10. * @Param:
11. * @author <a href="mail to: 1018726071@qq.com">JSQ97</a>
12. * @CreateDate: 2020年5月30日 下午4:15:50</p>
13. * @update: [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]
14. */
15.public class BookDataBase {
16. /**
17. * 创建模拟数据库,static静态代码块内内容只加载一次
18. */
19. private static Map<String,Book> map = new LinkedHashMap<String,Book>();
20. static {
21. map.put("1",new Book("1","javaWeb"));
22. map.put("2",new Book("2","jdbc入门"));
23. map.put("3",new Book("3","java基础"));
24. map.put("4",new Book("4","Struts框架"));
25. map.put("5",new Book("5","hibernate框架"));
26. }
27. //1. 得到所有图书的方法
28. /**
29. * @return
30. */
31. public static Collection<Book> getAll(){
32. return map.values();
33. }
34. //2. 根据map的key,也就是图书id来得到某一本图书
35. /**
36. * @param id
37. * @return
38. */
39. public static Book getBook(String id) {
40. return map.get(id);
41. }
42.}
ListBookServlet.java
1.package sessioin.shoppingcar;
2.
3.import java.io.IOException;
4.import java.io.PrintWriter;
5.import java.util.Collection;
6.
7.import javax.servlet.ServletException;
8.import javax.servlet.annotation.WebServlet;
9.import javax.servlet.http.HttpServlet;
10.import javax.servlet.http.HttpServletRequest;
11.import javax.servlet.http.HttpServletResponse;
12.
13./**
14. * 提供一个购买图书的页面
15. */
16.@WebServlet("/List")
17.public class ListBookServlet extends HttpServlet {
18. private static final long serialVersionUID = 1L;
19.
20.
21.
22. /**
23. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
24. */
25. protected void doGet(HttpServletRequest request, HttpServletResponse response)