01_7_cookies

1. cookies

1.1服务器可以向客户端写内容

1.2只能是文本内容

1.3客户端可以阻止服务器写入

1.4只能拿到自己webapp写入的东西

1.5Cookie分为两种

属于窗口/子窗口(放在内存中)

属于文本(有生命周期的)

1.6一个servlet/jsp设置的cookies能够被同一个路径下面或者子路径下面的servlet/jsp读到(路径 = URL)(路径 != 真实文件路径)

2. 测试类

SetCookies.java

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

/*response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("<HTML>");

out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");

out.println("  <BODY>");

out.print("    This is ");

out.print(this.getClass());

out.println(", using the GET method");

out.println("  </BODY>");

out.println("</HTML>");

out.flush();

out.close();*/

for (int i = 0; i < 3; i++) {

Cookie cookie = new Cookie("Session-Cookie-" + i, "Cookie-Value-P" + i);

response.addCookie(cookie);

cookie = new Cookie("Persistent-Cookie-" + i, "Cookie-Value-P" + i);

cookie.setMaxAge(3600);

response.addCookie(cookie);

}

response.setContentType("text/html; charset=utf-8");

PrintWriter out = response.getWriter();

out.print("<H1>设置Cookie</H1>6个Cookie<a href=\"ShowCookies\">查看</a>");

}

ShowCookies.java

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html; charset=utf-8");

PrintWriter out = response.getWriter();

String title = "Active Cookies";

out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("<HTML>");

out.println("  <HEAD><TITLE>获取客户端Cookie</TITLE></HEAD>");

out.println("  <BODY>");

out.print("<H1 ALIGN=\"CENTER\">" + title +

"</H1><table  border=1 ALIGN=\"CENTER\">" +

"<tr><th>Cookie Name</th><th>Cookie Value</th>");

Cookie[] cookies = request.getCookies();

if (cookies != null) {

Cookie cookie;

for (int i = 0; i < cookies.length; i++) {

cookie = cookies[i];

out.print("<tr><td>" + cookie.getName()+"</td><td>" + cookie.getValue() + "</td></tr>");

}

}

out.print("</table>");

out.println("  </BODY>");

out.println("</HTML>");

out.flush();

out.close();

}

01_7_cookies的更多相关文章

随机推荐

  1. 2014-10-24 NOIP欢乐赛

    10-24NOIP欢乐赛 ——By 潘智力 题目名称 分火腿 无聊的会议 班服 时间限制 1s 1s 1s 内存限制 64MB 128MB 128MB 输入文件 hdogs.in meeting.in ...

  2. Node.js的安装与使用-Windows系统

    首先到官网下载node.js http://nodejs.cn 下载完成后一直下一步Next即可安装完成,路径可以自己设置 然后配置环境变量,将node安装的目录配置到Path中 例如: cmd打开命 ...

  3. SpringMVC重定向传递参数

    在SpringMVC的一个controller中要把参数传到页面,只要配置视图解析器,把参数添加到Model中,在页面用el表达式就可以取到.但是,这样使用的是forward方式,浏览器的地址栏是不变 ...

  4. redids

    Redis 地理位置(geo) Redis 键(key) Redis 字符串(String) Redis 哈希(Hash) Redis 列表(List) Redis 集合(Set) Redis 有序集 ...

  5. 黑马学习AJAX jQuery发送异步请求 $.ajax() $.post() $.get()是在调用方法而不是定义方法

  6. Python-14-抽象及关键字参数

    可使用内置函数callable判断某个对象是否可调用 >>> import math >>> x = 1 >>> y = math.sqrt &g ...

  7. Python-12-简单推导

    列表推导:从其他列表创建列表 >>> [x * x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 下面实现只打印能 ...

  8. NSwag生成客户端调用代码

    NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码 https://www.cnblogs.com/hunanzp/p/9297361.html 前言 上一篇博客中我们 ...

  9. Ocelot API

    Ocelot API网关的实现剖析   在微软Tech Summit 2017 大会上和大家分享了一门课程<.NET Core 在腾讯财付通的企业级应用开发实践>,其中重点是基于ASP.N ...

  10. PHP函数生成随机数

    通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度,代码如下: <?p ...