学习笔记(二):cookie的基本使用
2014-04-09 12:51
288 查看
(最近在看马士兵老师的java web视频,遂记录以铭之)
一、简介
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。
Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
二、使用
创建cookie: new Cookie(name, value)
可以使用Cookie的setXxx方法来设定一些相应的值
setName(String name) / getName() //设置一个cookie的name
setValue(String value) / getValue() //设置一个cookie的value
setMaxAge(int age) / getMaxAge() //如果没有设置,则表示该cookie只属于某个窗口
利用HttpServletResponse的addCookie(Cookie)方法将它设置到客户端
利用HttpServletRequest的getCookie()方法来读取客户端的所有Cookie,返回一个Cookie数组
三、几点重要说明
1. 服务器可以利用cookie向客户端写内容
2. 只能是文本内容
3. 客户端可以阻止服务器写入
4. 只能拿自己webapp写入的东西
5. cookie分为两种: 属于窗口/子窗口、属于文本(利用setMaxAge设置了生存时间)
6. 一个Servlet/Jsp设置的cookies能够被同一个路径下面、或者子路径下面的servlet/jsp读到,(路径=URL)(路径 != 真实文件路径)
四、例子程序
设置Cookie:
一、简介
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。
Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
二、使用
创建cookie: new Cookie(name, value)
可以使用Cookie的setXxx方法来设定一些相应的值
setName(String name) / getName() //设置一个cookie的name
setValue(String value) / getValue() //设置一个cookie的value
setMaxAge(int age) / getMaxAge() //如果没有设置,则表示该cookie只属于某个窗口
利用HttpServletResponse的addCookie(Cookie)方法将它设置到客户端
利用HttpServletRequest的getCookie()方法来读取客户端的所有Cookie,返回一个Cookie数组
三、几点重要说明
1. 服务器可以利用cookie向客户端写内容
2. 只能是文本内容
3. 客户端可以阻止服务器写入
4. 只能拿自己webapp写入的东西
5. cookie分为两种: 属于窗口/子窗口、属于文本(利用setMaxAge设置了生存时间)
6. 一个Servlet/Jsp设置的cookies能够被同一个路径下面、或者子路径下面的servlet/jsp读到,(路径=URL)(路径 != 真实文件路径)
四、例子程序
设置Cookie:
public class SetCookies extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { for(int i =0;i < 3;i++) { Cookie cookie = new Cookie("Session-Cookie-" + i, "Cookie-Value-S" + i); resp.addCookie(cookie); cookie = new Cookie("Persistent-Cookie-" + i, "Cookie-Value-P" + i); cookie.setMaxAge( 3600 ); resp.addCookie(cookie); } } }读取Cookie:
public class ShowCookies extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=gb2312"); PrintWriter out = resp.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=\"FFADOO\">\n" + "<TH>Cookie Name\n" + " <TH>Cookie Value"); Cookie[] cookies = req.getCookies(); if(cookies != null) { for(Cookie cookie : cookies) { out.println("<TR>\n" + " <TD>" + cookie.getName() + "</TD>\n" + " <TD>" + cookie.getValue() + "</TD></TR>\n"); } } out.println("</TABLE></BODY></HTML>"); } }
相关文章推荐
- iOS学习笔记----NSTimer(基本使用,DefaultRunLoopMode,NSRunLoopCommonModes,准确性)
- Python学习笔记-模块介绍(一)-模块概念和基本使用
- Sqoop学习笔记_Sqoop的基本使用二(sqoop的import与export)
- 1.docker学习笔记:docker的安装和基本使用
- 【Cocos2d-x3.0学习笔记 03】一些基本的使用
- 黑马程序员---OC学习笔记之protocol概念及基本使用
- IOS学习笔记(十)之UIImageView图片视图的基本概念和使用方法
- Nutch1.7学习笔记1:基本环境搭建及使用
- Solr学习笔记---部署Solr到Tomcat上,可视化界面的介绍和使用,Solr的基本内容介绍,SolrJ的使用
- Android知识体系梳理笔记五:Kotlin学习笔记一:类和继承以及Anko(全)的基本使用
- Java Web 学习笔记之四:Cookie介绍及使用
- ffmpeg--学习笔记1-基本使用
- hive学习笔记1:hive使用基本命令
- [学习小笔记] Gson的基本使用
- [学习笔记]Beautiful Soup语法基本使用
- NDK学习笔记:动态链接库与静态链接库的基本使用流程简记
- Session和Cookie学习笔记—Cookie使用
- IOS学习笔记(十)之UIImageView图片视图的基本概念和使用方法
- tensorflow学习笔记----一(基本使用)
- 【学习笔记】TensorFlow 入门之基本使用