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. dubbo 学习(一)

    1.dubbo(服务提供方)     ---->注册给  zookeeper 2.服务消费方通过访问zookeeper直接请求服务地址 3.zookeeper能够 1:现实环境中如果服务出现中断 ...

  2. AcDbCurve of AcDbEntity

    AcDb2dPolyline AcDb3dPolyline AcDbArc AcDbCircle AcDbEllipse AcDbLeader AcDbLine AcDbPolyline AcDbRa ...

  3. 关于fiddler抓取HTTPS请求443的问题

    1.环境:fiddler4.IOS10.3以上 2.需求:使用fiddler抓取IOS上的https请求 3.解决方案 步骤一:设置fiddler 步骤二:手机端安装证书 手机设置代理,打开手机浏览器 ...

  4. IOS UILabel的一些使用小技巧

    1. 你在iOS6的需要NSLineBreakByWordWrapping 为了您的代码试试这个: NSString *string = @"bla"; CGSize s = [s ...

  5. 图像像素灰度内插(Matlab实现)

    常用的像素灰度内插法:最近邻元法.双线性内插法.三次内插法 %%像素灰度内插 factor = 0.75;%缩放比 u = 0.6;v = 0.7; itp1 = uint8(zeros(ceil(h ...

  6. cmd 中粘贴复制(转)

    1 如右图,右键命令提示符窗口的标题栏,选择属性. 2 选择“编辑选项”里的“快速编辑模式”,并确定之: 3 在弹出的应用选择提示框上选择“保存属性,供以后具有相同标题的窗口使用”: 4 如此你就可以 ...

  7. 深入浅出面向对象分析与设计读书笔记一&吉他搜索案例&吉他特性锚点集中&委托&重用&业务阶段&需求列表&用例

    案例:吉他搜索Guitar Inventory GuitarSpec需求变化:增加吉他弦数特性原始程序需要的变化: 1.修改GuitarSpec,构造,成员,getter 2.修改Guitar,构造, ...

  8. virtualenv模块安装

    依赖包管理模块(virtualenv) virtualenv是Python的虚拟环境,可以在同一台PC隔离不同的python开发环境.virtualenv可以创建一个隔离的python环境(沙盒).使 ...

  9. 极客学院年VIP卡原价260的F码,200出售

    F码是中国最大的IT职业在线教育平台——极客学院推出的VIP时间兑换码,凭此可在极客学院官网兑换年VIP,畅享平台上所有IT技术课程. 购买请点击 http://www.bejson.com/othe ...

  10. Netty(7-2)传List

    ObjectEchoServer protected void initChannel(SocketChannel ch) throws Exception { ChannelPipeline p = ...