cookie的使用

同学问我关于cookie的问题,大致知道他的原理,但不知道它内部到底如何存储的。所以写个小程序测试一下:

简单的登录验证,保存用户名和密码以后不用登陆:
在index.jsp下,填写用户名和密码,勾选保存信息。在服务器端检查是否勾选上,然后生成cookie保存到客户端:
index.jsp代码如下:

  <form method="post" action="register.jsp">
                        username:
                        <input type="text" name="username" />
                        </BR>

                        password:
                        <input type="password" name="password" />
                        </br>
                       <input type="checkbox" name="remember">
                        save
                        </input>
                        <input type="submit" value="提交" />


                </form>

 register.jsp代码如下:

   <%
                        String username = request.getParameter("username");
                        String password = request.getParameter("password");
                        String remember = request.getParameter("remember");
                        if (remember == null || "".equals(remember.trim())) {
                                out.print("empty info");
                                return;
                        }
                        Cookie c1 = new Cookie("username", username);
                        Cookie c2 = new Cookie("password",password);
                        response.addCookie(c1);
                        response.addCookie(c2);
                        c1.setMaxAge(22222); //这是cookie保存的时间,我在这里随便敲了个数字
                        c2.setMaxAge(2234343);
                        out.println("save it");
                %>

 测试页test.jsp

 <%
                String username = null;
                String password = null;
                Cookie[] cookies = request.getCookies();
                for (Cookie cookie : cookies) {
                        if(cookie.getName().equals("username")){
                                username = cookie.getValue();
                        }else if(cookie.getName().equals("password")){
                        password = cookie.getValue();
                        }
                }
        if (username != null && password != null){
                        out.println("logined");
        }
        %>

 我使用的IE6进行测试,他的cookie保存路径为:C:\Documents and Settings\登录用户名\Cookies
由于是本机测试,所以他的cookie文件名为:administrator@cookie[2].txt。打开后查看内容为:
username
aa
localhost/cookie/
1024
513019904
30000551
1642879296
30000499
*
password
aa
localhost/cookie/
1024
2641445504
30005701
1642879296
30000499
*

分析:
我在index.jsp上输入了用户名和密码,在服务器端创建了两个cookie对象,但浏览器针对每个站点只会生成一个cookie文件。在服务器端,通过reques对象获得cookie对象,对其进行迭代,依次取出其中保存的值,进行相关操作就可以了。


对不同目录下,保存cookie会生成不同的cookie文件。
比如我在webRoot/jsp/saveCookie.jsp里保存cookie那么保存的cookie对应的域会是localhost/cookie/jsp
可以使用cookie的setDomain方法,指定cookie的域。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值