javaweb学习(5)--Cookie

来源:互联网 发布:淘宝banner图片 编辑:程序博客网 时间:2024/06/05 09:39

cookie:

1.  服务器往客户端写内容的,只能是文本格式2.  客户端可以阻止服务器写入3.  只能拿到自己写的东西4.  Cookie时效性:1.以文件形式保存起来,可持续;2关闭浏览器就没了5.  一个servlet/jsp设置的cookies你能够拿到同一个路径或路径下面的cookie,指的是是url

各浏览器cookie在window下的路径:

C:\Users\用户名\AppData\Local\Microsoft\Windows\INetCookies在IE浏览器中,IE将各个站点的Cookie分别保存为一个XXX.txt这样的纯文本文件(文件个数可能很多,但文件大小都较小);而Firefox和Chrome是将所有的Cookie都保存在一个文件中(文件大小较大),该文件的格式为SQLite3数据库格式的文件。Firefox的Cookie数据位于:%APPDATA%\Mozilla\Firefox\Profiles\ 目录中的xxx.default目录,名为cookies.sqlite的文件。如:C:\Users\jay\AppData\Roaming\Mozilla\Firefox\Profiles\ji4grfex.default\cookies.sqlite在Firefox中查看cookie, 可以选择”工具 > 选项 >” “隐私 > 显示cookie”。Chrome的Cookie数据位于:%LOCALAPPDATA%\Google\Chrome\User Data\Default\ 目录中,名为Cookies的文件。如:C:\Users\jay\AppData\Local\Google\Chrome\User Data\Default\Cookies参考:http://smilejay.com/2013/04/browser-cookie-location/

设置和显示cookie
这方面其实都是基础内容,没有为什么,就是记住这些个方法就是了。下面贴上代码。

设置cookie:

public class SetCookiesServlet extends HttpServlet{    @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //循环设置cookie        for(int i=0;i<3;i++){            //这个cookie是存在在内存之中,关闭窗口之后就没了            Cookie cookie = new Cookie("Session-Cookie-"+i, "Cookie-Value-s"+i);            resp.addCookie(cookie);            //这是cookie写到了本地文件之中            cookie = new Cookie("Persistent-Cookie-"+i, "Cookie-Value-P"+i);            cookie.setMaxAge(3600);            resp.addCookie(cookie);        }        resp.setContentType("text/html;charset=gb2312");        PrintWriter writer = resp.getWriter();        String title = "Setting Cookies";        writer.println("<html><head><title>设置cookie</title></head>"            + "<body> <h1>下面这个连接点击之后能显示cookie</h1>"            + "<br />"            + "<a href=\"ShowCookieServlet\">"            + "<code>显示cookie</code> servlet</a>"            + "<br />"            + "</body>"            + "</html>"            );    }}

显示cookie

public class ShowCookiesServlet extends HttpServlet{    @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        resp.setContentType("text/html;charset=gb2312");        PrintWriter writer = resp.getWriter();        writer.println("<html><head><title>客户端cookie</title></head>"            + "<body> "            + "<table >"            +"<tr><th>cookie名字</th><th>cookie内容</th></tr>"            );        //遍历所有的cookie        Cookie[] cookies = req.getCookies();        if(cookies !=null){            Cookie cookie ;            for(int i = 0;i<cookies.length;i++){                cookie = cookies[i];                writer.println("<tr><td>"+cookie.getName()                    + "</td><td>"                    + cookie.getValue()                    + "</td></tr>");            }        }        writer.println("<table >"                + "</body>"                + "</html>");    }}
0 0
原创粉丝点击