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. JS动态append之后点击事件无效

    今天做项目用了append向HTML里面添加结构代码,代码添加之后,单击事件就没反应了.搞得我一脸懵逼,调了代码很久实在不行,我百度了一下才发现,append添加的节点单击事件是不会生效的. 原因: ...

  2. Solidity 最新 0.5.8 中文文档发布

    本文首发于深入浅出区块链社区 热烈祝贺 Solidity 最新 0.5.8 中文文档发布, 这不单是一份 Solidity 速查手册,更是一份深入以太坊智能合约开发宝典. 翻译说明 Solidity ...

  3. Java进程占用内存过高,排查解决方法

    最近收到邮件报警,说内存使作率达到84%.如下图: 解决方法: A:可能是代码原因导致的问题: 1.使用命令:top 查看当前进程的状态 2.从上图可以看到PID:916的java进程占用内存较大.定 ...

  4. docker 使用数据库mysql

    1. docker pull mysql  获取mysql镜像 2. docker images 查看镜像列表 3.  docker run -itd -P mysql bash :启动mysql镜像 ...

  5. ubuntu 设置字符集 locale(解决乱码问题)

    1.locale 查看现在的locale配置环境 2.localepurge 配置需要的locale(如果没有这个命令,用apt-get install localepurge安装) 3.locale ...

  6. redis之使用

    redis之使用  redis ================================= 1.自动分配.你在什么时候用到了自动分配? 答:市场部或运营部招来的新的客户,单条(批量)录入数据的 ...

  7. NET API 分析器

    NET API 分析器 https://www.hanselman.com/blog/WritingSmarterCrossplatformNETCoreAppsWithTheAPIAnalyzerA ...

  8. k8s的nfs存储外挂设置过程

    需求: 在k8s集群里的某个模块生成的目录文件或者更新的目录文件,存储到外面某台服务器上 1.安装nfs服务(192.168.1.2  Ubuntu 16.04) apt-get install nf ...

  9. CodeForces 731C C - Socks 并查集

    Description Arseniy is already grown-up and independent. His mother decided to leave him alone for m ...

  10. 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest A. Toda 2 贪心 + 暴力

    A. Toda 2 time limit per test 2 seconds memory limit per test 512 megabytes input standard input out ...