[Jweb] Cookie -- SetCookies.java / ShowCookies.java
来源:互联网 发布:cdma是什么网络 编辑:程序博客网 时间:2024/05/01 07:16
知识点笔记 Cookie 与 Session * http 协议的无连接性要求出现一种保存 C / S 间状态的机制. (借你100W,防止忘,我在你脑门贴个小纸条,下次看到你,我就想起来了。) * Cookie: 保存到客户端的一个文本文件,与特定客户相关 * Cookie 以 "名 - 值 对" 的形式保存数据 * 创建 Cookie: new Cookie 在客户端记录东西 叫做 Cookie 1). 服务器端可以往客户端这边写内容 (Cookie 适合锦上添花) 2). 只能是文本内容 3). 在客户端这边可以选择阻止对方来写东西 4). 只能拿自己的webapp写入的东西 5). 每个浏览器有一个独一无二的编号 服务器端通过 cookie 可以区分是广州的客户端还是美国的客户端... Session , Session 是一个篮子 只要是同一套有父子关系的窗口,都可以访问到同一个 Session。 启发 :默认 session 是依赖 cookie 的。若cookie完全禁用后解决方案 : 重写URL。 新浪邮箱 : 做学问不严谨。不像IBM等这样的大公司。 + "<a href=" + response.encodeURL(request.getRequestURL().toString()) + ">test</a><BR>" + "<a href=" + request.getRequestURI().toString() + ">test</a>" china-pub买书,例如 : 最近浏览的列表,一般是写cookie里面了。
SetCookies.java
import java.io.*;import javax.servlet.*;import javax.servlet.http.*;//设置Cookie//1:服务器可以向客户端写内容//2:只能是文本内容//3:客户端可以阻止服务器写入//4:只能拿自己webapp写入的东西//5:Cookie分为两种,第一种:属于窗口/子窗口(放在内存中的),第二种:属于文本(有生命周期的)//6:一个servlet/jsp设置的cookies能够被同一个路径下面或者子路径下面的servlet/jsp读到 (路径 = URL)(路径 != 真实文件路径)public class SetCookies extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { for (int i = 0; i < 3; i++) { // Default maxAge is -1, indicating cookie applies only to current // browsing session. Cookie cookie = new Cookie("Session-Cookie-" + i, "Cookie-Value-S" + i); response.addCookie(cookie); // 这句话 tomcat 会帮你写入到客户端,具体细节你不用管了。 这个 cookie 属于窗口/子窗口(放在内存中的) cookie = new Cookie("Persistent-Cookie-" + i, "Cookie-Value-P" + i); // Cookie is valid for an hour, regardless of whether user quits // browser, reboots computer, or whatever. cookie.setMaxAge(3600); // 给 cookie 设置一个时间,超过这个时间就消失 response.addCookie(cookie); } response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); out.println("<html><head><title>设置Cookie</title></head>" + "<BODY>\n" + "<H1 ALIGN=\"CENTER\">" + "设置Cookie" + "</H1>\n" + "6个Cookie\n" + "<A HREF=\"ShowCookies\">\n" + "查看</A>.\n" + "</BODY></HTML>"); }}ShowCookies.java
import java.io.*;import javax.servlet.*;import javax.servlet.http.*;// 读取客户端的Cookiepublic class ShowCookies extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); String title = "Active Cookies"; out.println("<html><head><title>获取客户端Cookie</title></head>" + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1 ALIGN=\"CENTER\">" + title + "</H1>\n" + "<TABLE BORDER=1 ALIGN=\"CENTER\">\n" + "<TR BGCOLOR=\"#FFAD00\">\n" + " <TH>Cookie Name\n" + " <TH>Cookie Value"); Cookie[] cookies = request.getCookies(); if (cookies != null) { Cookie cookie; for (int i = 0; i < cookies.length; i++) { cookie = cookies[i]; out.println("<TR>\n" + " <TD>" + cookie.getName() + "</TD>\n" + " <TD>" + cookie.getValue() + "</TD></TR>\n"); } } out.println("</TABLE></BODY></HTML>"); }}
0 0
- [Jweb] Cookie -- SetCookies.java / ShowCookies.java
- [Jweb] Application / TestServletContext.java
- SetCookies
- [Jweb] Session -- SessionInfoServlet.java / ShowSession.java / URLSession.java
- [Jweb] Servlet 如何从上一个页面取得参数. ShowParameters.java
- java cookie
- java cookie
- Java cookie
- java Cookie
- java cookie
- java cookie
- java cookie
- java cookie
- java cookie
- java cookie
- 关于Java中的Cookie
- java 如何操作 Cookie
- Java读写cookie
- 【题目】C++中enum分析
- 用于Lucene的各中文分词比较
- 常用的Bit位操作 记录
- HDFS正常启动,DataNode节点个数为0的问题
- 最大连续子序列O(n)
- [Jweb] Cookie -- SetCookies.java / ShowCookies.java
- android反编译详解(附带反编译工具,包含mac和windows版本)
- 题目1117:整数奇偶排序
- C++面向对象类的实例题目八
- 微信/移动端Web页面调试小技巧
- 如何高效利用GitHub
- 7.HTML5 高级Canvas技术-基本动画
- http://www.oschina.net/code/snippet_1029551_20540
- 1.基础磁盘、目录结构