当前位置: 首页 > news >正文

表格模板免费下载网站中国原材料价格网

表格模板免费下载网站,中国原材料价格网,看男科花了一万多了,好的app制作公司1 Cookie概述 1.1 什么叫Cookie Cookie翻译成中文是小甜点#xff0c;小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的#xff0c;随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来#xff…1 Cookie概述 1.1 什么叫Cookie Cookie翻译成中文是小甜点小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来当下一次再访问服务器时把Cookie再发送给服务器。 Cookie是由服务器创建然后通过响应发送给客户端的一个键值对。客户端会保存Cookie并会标注出Cookie的来源哪个服务器的Cookie。当客户端向服务器发出请求时会把所有这个服务器Cookie包含在请求中发送给服务器这样服务器就可以识别客户端了 1.2 Cookie规范 Cookie大小上限为4KB 一个服务器最多在客户端浏览器上保存20个Cookie 一个浏览器最多保存300个Cookie 上面的数据只是HTTP的Cookie规范但在浏览器大战的今天一些浏览器为了打败对手为了展现自己的能力起见可能对Cookie规范“扩展”了一些例如每个Cookie的大小为8KB最多可保存500个Cookie等但也不会出现把你硬盘占满的可能 注意不同浏览器之间是不共享Cookie的。也就是说在你使用IE访问服务器时服务器会把Cookie发给IE然后由IE保存起来当你在使用FireFox访问服务器时不可能把IE保存的Cookie发送给服务器。 1.3 Cookie与HTTP头 Cookie是通过HTTP请求和响应头在客户端和服务器端传递的 Cookie请求头客户端发送给服务器端 Ø  格式Cookie: aA; bB; cC。即多个Cookie用分号离开 Set-Cookie响应头服务器端发送给客户端 Ø  一个Cookie对象一个Set-Cookie Set-Cookie: aA Set-Cookie: bB Set-Cookie: cC 1.4 Cookie的覆盖 如果服务器端发送重复的Cookie那么会覆盖原有的Cookie例如客户端的第一个请求服务器端发送的Cookie是Set-Cookie: aA第二请求服务器端发送的是Set-Cookie:aAA那么客户端只留下一个Cookie即aAA。 1.5 Cookie案例 我们这个案例是客户端访问AServletAServlet在响应中添加Cookie浏览器会自动保存Cookie。然后客户端访问BServlet这时浏览器会自动在请求中带上CookieBServlet获取请求中的Cookie打印出来。 AServlet.java package cn.itcast.servlet;   import java.io.IOException; import java.util.UUID;   import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;   /**  * 给客户端发送Cookie  * author Administrator  *  */ public class AServlet extends HttpServlet {     public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        response.setContentType(text/html;charsetutf-8);               String id UUID.randomUUID().toString();//生成一个随机字符串        Cookie cookie new Cookie(id, id);//创建Cookie对象指定名字和值        response.addCookie(cookie);//在响应中添加Cookie对象        response.getWriter().print(已经给你发送了ID);     } } BServlet.java package cn.itcast.servlet;   import java.io.IOException;   import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;   /**  * 获取客户端请求中的Cookie  * author Administrator  *  */ public class BServlet extends HttpServlet {     public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        response.setContentType(text/html;charsetutf-8);               Cookie[] cs request.getCookies();//获取请求中的Cookie        if(cs ! null) {//如果请求中存在Cookie            for(Cookie c : cs) {//遍历所有Cookie               if(c.getName().equals(id)) {//获取Cookie名字如果Cookie名字是id                   response.getWriter().print(您的ID是 c.getValue());//打印Cookie值               }            }        }     } } 2 Cookie的生命 2.1 什么是Cookie的生命 Cookie不只是有name和valueCookie还是生命。所谓生命就是Cookie在客户端的有效时间可以通过setMaxAge(int)来设置Cookie的有效时间。 cookie.setMaxAge(-1)cookie的maxAge属性的默认值就是-1表示只在浏览器内存中存活。一旦关闭浏览器窗口那么cookie就会消失。 cookie.setMaxAge(60*60)表示cookie对象可存活1小时。当生命大于0时浏览器会把Cookie保存到硬盘上就算关闭浏览器就算重启客户端电脑cookie也会存活1小时 cookie.setMaxAge(0)cookie生命等于0是一个特殊的值它表示cookie被作废也就是说如果原来浏览器已经保存了这个Cookie那么可以通过Cookie的setMaxAge(0)来删除这个Cookie。无论是在浏览器内存中还是在客户端硬盘上都会删除这个Cookie。 2.2 案例显示上次访问时间 创建Cookie名为lasttime值为当前时间添加到response中 在AServlet中获取请求中名为lasttime的Cookie 如果不存在输出“您是第一次访问本站”如果存在输出“您上一次访问本站的时间是xxx” AServlet.java public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        response.setContentType(text/html;charsetutf-8);               Cookie cookie new Cookie(lasttime, new Date().toString());        cookie.setMaxAge(60 * 60);        response.addCookie(cookie);               Cookie[] cs request.getCookies();        String s 您是首次访问本站;        if(cs ! null) {            for(Cookie c : cs) {               if(c.getName().equals(lasttime)) {                   s 您上次的访问时间是 c.getValue();               }            }        }               response.getWriter().print(s);     } 3 Cookie的path 3.1 什么是Cookie的路径 现在有WEB应用A向客户端发送了10个Cookie这就说明客户端无论访问应用A的哪个Servlet都会把这10个Cookie包含在请求中但是也许只有AServlet需要读取请求中的Cookie而其他Servlet根本就不会获取请求中的Cookie。这说明客户端浏览器有时发送这些Cookie是多余的 可以通过设置Cookie的path来指定浏览器在访问什么样的路径时包含什么样的Cookie。 3.2 Cookie路径与请求路径的关系 下面我们来看看Cookie路径的作用 下面是客户端浏览器保存的3个Cookie的路径 a: /cookietest b: /cookietest/servlet c: /cookietest/jsp 下面是浏览器请求的URL A: http://localhost:8080/cookietest/AServlet B: http://localhost:8080/cookietest/servlet/BServlet C: http://localhost:8080/cookietest/servlet/CServlet 请求A时会在请求中包含a 请求B时会在请求中包含a、b 请求C时会在请求中包含a、c 也就是说请求路径如果包含了Cookie路径那么会在请求中包含这个Cookie否则不会请求中不会包含这个Cookie。 A请求的URL包含了“/cookietest”所以会在请求中包含路径为“/cookietest”的Cookie B请求的URL包含了“/cookietest”以及“/cookietest/servlet”所以请求中包含路径为“/cookietest”和“/cookietest/servlet”两个Cookie C请求的URL包含了“/cookietest”以及“/cookietest/jsp”所以请求中包含路径为“/cookietest”和“/cookietest/jsp”两个Cookie 3.3 设置Cookie的路径 设置Cookie的路径需要使用setPath()方法例如 cookie.setPath(“/cookietest/servlet”); 如果没有设置Cookie的路径那么Cookie路径的默认值当前访问资源所在路径例如 访问http://localhost:8080/cookietest/AServlet时添加的Cookie默认路径为/cookietest 访问http://localhost:8080/cookietest/servlet/BServlet时添加的Cookie默认路径为/cookietest/servlet 访问http://localhost:8080/cookietest/jsp/BServlet时添加的Cookie默认路径为/cookietest/jsp 4 Cookie的domain Cookie的domain属性可以让网站中二级域共享Cookie次要 百度你是了解的对吧 http://www.baidu.com http://zhidao.baidu.com http://news.baidu.com http://tieba.baidu.com 现在我希望在这些主机之间共享Cookie例如在www.baidu.com中响应的cookie可以在news.baidu.com请求中包含。很明显现在不是路径的问题了而是主机的问题即域名的问题。处理这一问题其实很简单只需要下面两步 设置Cookie的path为“/”c.setPath(“/”) 设置Cookie的domain为“.baidu.com”c.setDomain(“.baidu.com”)。 当domain为“.baidu.com”时无论前缀是什么都会共享Cookie的。但是现在我们需要设置两个虚拟主机www.baidu.com和news.baidu.com。 第一步设置windows的DNS路径解析 找到C:\WINDOWS\system32\drivers\etc\hosts文件添加如下内容 127.0.0.1       localhost 127.0.0.1       www.baidu.com 127.0.0.1       news.baidu.com 第二步设置Tomcat虚拟主机 找到server.xml文件添加Host元素内容如下 Host namewww.baidu.com  appBaseF:\webapps\www             unpackWARstrue autoDeploytrue             xmlValidationfalse xmlNamespaceAwarefalse/       Host namenews.baidu.com  appBaseF:\webapps\news             unpackWARstrue autoDeploytrue             xmlValidationfalse xmlNamespaceAwarefalse/ 第三步创建A项目创建AServlet设置Cookie。 Cookie c new Cookie(id, baidu);        c.setPath(/);        c.setDomain(.baidu.com);        c.setMaxAge(60*60);        response.addCookie(c);        response.getWriter().print(OK); 把A项目的WebRoot目录复制到F:\webapps\www目录下并把WebRoot目录的名字修改为ROOT。 第四步创建B项目创建BServlet获取Cookie并打印出来。 Cookie[]cs request.getCookies();        if(cs ! null) {            for(Cookie c : cs) {               String s c.getName() : c.getValue() br/;               response.getWriter().print(s);            }        } 把B项目的WebRoot目录复制到F:\webapps\news目录下并把WebRoot目录的名字修改为ROOT。 第五步访问www.baidu.com\AServlet然后再访问news.baidu.com\BServlet。 5 Cookie中保存中文 Cookie的name和value都不能使用中文如果希望在Cookie中使用中文那么需要先对中文进行URL编码然后把编码后的字符串放到Cookie中。 向客户端响应中添加Cookie String name URLEncoder.encode(姓名, UTF-8);        String value URLEncoder.encode(张三, UTF-8);        Cookie c new Cookie(name, value);        c.setMaxAge(3600);        response.addCookie(c); 从客户端请求中获取Cookie response.setContentType(text/html;charsetutf-8);        Cookie[] cs request.getCookies();        if(cs ! null) {            for(Cookie c : cs) {               String name URLDecoder.decode(c.getName(), UTF-8);               String value URLDecoder.decode(c.getValue(), UTF-8);               String s name : value br/;               response.getWriter().print(s);            }        }
http://www.pierceye.com/news/4420/

相关文章:

  • 广东省建设工程执业中心网站网站建设在哪里找人
  • 网站建设机器人深圳市招投标交易中心
  • 网站上线准备工作淘宝店有给网站做优化am
  • 莱芜正规的网站建设建设网站需要注意什么
  • 网站建设技能描述建筑工程公司名字
  • 网站回头率专业建设公司网站
  • 做线上网站需要多少钱移动互联网在财务会计领域的应用
  • 蚌埠市网站建设公司wordpress 正文替换
  • 网站身份验证怎么做wordpress主题演示站
  • 同时在线上万人的网站需要什么配置云服务器网站推广软件免费观看
  • 郑州建站以来怎样做网站吸引客户
  • 关于企业网站建设的建议网站开发模板图片
  • 自己做网站哪种好做网站设计的书
  • 做设计兼职网站wordpress能做交互类网站
  • 派设计包装设计网站2021营业执照年检网上申报个体
  • 展示型网站模板代码甘肃省住房和城乡建设厅安置局网站
  • 网站要怎么做国外域名注册服务商
  • 北京市建设工程造价管理协会网站怎么推广微信公众号
  • 做外贸兼职的网站工业设计展板
  • 一男一女做那个的动漫视频网站开源课程 视频网站模板
  • 云浮 网站建设wordpress 倡萌 相册
  • 做糕点哪个网站wordpress插件文档
  • 设计专业招聘信息上海seo网站
  • 网站开发遇到的难点58同城网站建设案例
  • 电商pc网站建设方案上海58同城官网
  • 容桂低价网站建设网站后台路径
  • 免费的查企业的网站网站seo优化外包顾问
  • 最大的免费网站建设红包app开发软件
  • 做化学式的网站北京网站设计培训机构
  • wordpress入門优化是什么梗