WEB应用开发设计实验报告四

本文档是关于WEB应用开发的实验报告,重点探讨了Cookie和Session的使用。实验内容包括购物车功能实现和用户登录系统。在实验过程中,遇到并解决了关于点击购买链接的404错误、购买第二本书时的Cookie问题,以及登录页面提交后的404问题。总结了Cookie与Session的主要区别,并分享了解决问题的心得体会。
摘要由CSDN通过智能技术生成

一.实验课题
会话技术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) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值