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. 剑指Offer的学习笔记(C#篇)-- 从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 一 . 题目解析 了解过二叉树就应该知道,二叉树存在三种遍历方法:前序遍历(根→左→右).中序遍历(左→根→右).后续遍历(左→右→根 ...

  2. JVM 内存分析

    简述JVM垃圾回收机制 垃圾回收机制时Java提供的自动释放内存空间的机制. 垃圾回收机制时JVM自导的一个线程,用于回收没有被引用的对象. JVM有一个运行时的数据区来管理内存.其主要包括五大部分: ...

  3. Java获取上周,本周,本月,本年,开始结束时间 。日期工具类

    由于获取日期经常会使用到,所有我自己写了一个工具类 1.基本上能用上的都写出来了,包括:1)获取当天的开始时间 2)获取当天的结束时间 3)获取昨天的开始时间 4)获取昨天的结束时间 5)获取明天的开 ...

  4. 更新常用的js工具函数

    在手机调试时打印代码<script src="https://cdn.bootcss.com/vConsole/3.3.0/vconsole.min.js"></ ...

  5. scrapy爬取美女图片

    使用scrapy爬取整个网站的图片数据.并且使用 CrawlerProcess 启动. 1 # -*- coding: utf-8 -* 2 import scrapy 3 import reques ...

  6. nginx一个简单的反向代理设置

    location /aaaaa/ { proxy_pass http://localhost:8080/aaaaa/; } 经过配置,现在访问 http://localhost/aaaaa/   就会 ...

  7. 关闭mysql validate-password插件

    mysql5.7 的validate-password对密码策略有限制,比如长度大小写,太麻烦,我习惯开发环境下为root,所以在开发环境关闭这个插件的话只需在/etc/my.cnf中添加valida ...

  8. filter配置多个url-pattern和排除个别servlet

    转载自:https://blog.csdn.net/hanghangde/article/details/51298221 侵删 最近做项目遇到一个Filter需要配置多个url-pattern,上网 ...

  9. Tomcat一

    Tomcat是如何处理http请求的 Tomcat有什么用? Tomcat是一个应用服务器,也是一个Servlet容器,用来接收前端传过来的请求,并将请求传给Servlet,并将Servlet的响应返 ...

  10. markdown-Macdown

    #标题 [页面锚点](#name)   =>   <a name="name"></a>文字 **加粗**(Command-B) *斜体*(Comma ...