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

网站建设大概需要多少钱友情链接如何交换

网站建设大概需要多少钱,友情链接如何交换,苏州网站建设设计,做网站建设注册商标是多少类目录 1 什么是Cookie 2 创建Cookie 3 浏览器查看Cookie 3.1 浏览器查看Cookie的第一种方式 3.2 浏览器查看Cookie的第二种方式 4 获取Cookie 5 修改Cookie 6 Cookie编码与解码 6.1 创建带中文Cookie 6.2 读取带中文Cookie 6.3 获取中文Cookie请求效果 6.4 解决创建和…

目录

1 什么是Cookie

2 创建Cookie

3 浏览器查看Cookie

3.1 浏览器查看Cookie的第一种方式

3.2 浏览器查看Cookie的第二种方式

4 获取Cookie

5 修改Cookie

6 Cookie编码与解码

6.1 创建带中文Cookie

6.2 读取带中文Cookie

6.3 获取中文Cookie请求效果

6.4 解决创建和获取中文Cookie

7 Cookie优点和缺点

7.1 Cookie优点

7.2 Cookie缺点


1 什么是Cookie

Cookie是在浏览器访问Web服务器的某个资源时,由Web服务器在HTTP响应消息头中附带传送给浏览器的一小段数据。

一旦Web浏览器保存了某个Cookie,那么它在以后每次访问该Web服务器时,都应在HTTP请求头中将这个Cookie回传给Web服务器。

一个Cookie主要有标识该信息的名称(name)和值(value)组成。

2 创建Cookie

//设置CookieCookie cookie = new Cookie("username", "zhangsan");/*
*设置Cookie存活时间,在浏览器内存中的保存时间,单位为秒,
*   正数:将Cookie写入浏览器所在电脑的硬盘,持久化存储。到时间自动删除
*   负数:默认值,Cookie在当前浏览器内存中,当浏览器关闭,则Cookie被销毁
*   零:删除对应Cookie
*/
cookie.setMaxAge(60);//设置Cookie的访问路径
cookie.setPath("/webProject05_war_exploded/GetCookieValueServlet01");//发送Cookie到客户端
response.addCookie(cookie);

 

3 浏览器查看Cookie

3.1 浏览器查看Cookie的第一种方式

3.2 浏览器查看Cookie的第二种方式

 

4 获取Cookie

//获取所有Cookie
Cookie[] cookies = request.getCookies();//遍历数组,获取所有的Cookie
for (Cookie cookie : cookies) {System.out.println(cookie.getName() + "-" + cookie.getValue());
}System.out.println("----------------------------------------");//遍历数组,获取指定的Cookie
for (Cookie cookie : cookies) {if (cookie.getName().equals("username")) {System.out.println(cookie.getName() + "-" + cookie.getValue());}
}

 

5 修改Cookie

只需要保证Cookie的名称和路径一致即可修改

注意:如果改变cookie的name和有效路径,会新建cookie,而改变cookie值、有效期会覆盖原有cookie

 //设置Cookie,如果改变cookie的name和有效路径,会新建cookie,而改变cookie值、有效期会覆盖原有cookie
Cookie cookie = new Cookie("username", "lisi");/*
*设置Cookie存活时间,在浏览器内存中的保存时间,单位为秒,
*   正数:将Cookie写入浏览器所在电脑的硬盘,持久化存储。到时间自动删除
*   负数:默认值,Cookie在当前浏览器内存中,当浏览器关闭,则Cookie被销毁
*   零:删除对应Cookie
*/
cookie.setMaxAge(30);//设置Cookie的访问路径cookie.setPath("/webProject09_war_exploded/GetCookieValueServlet01");//发送Cookie到客户端
response.addCookie(cookie);

6 Cookie编码与解码

Cookie默认不支持中文,只能包含ASCII字符,所以Cookie需要对Unicode字符进行编码,否则会出现乱码

  • 编码可以使用java.net.URLEncoder类的encode(String str,String encoding)方法

  • 解码可以使用java.net.URLDecoder类的decode(String str,String encoding)方法

6.1 创建带中文Cookie

package com.cxyzxc.www.servlet01;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet(name = "CookieServlet03", value = "/CookieServlet03")
public class CookieServlet03 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置请求参数的编码格式,这种方式对get请求方式无效request.setCharacterEncoding("UTF-8");//设置响应编码格式为UTF-8response.setContentType("text/html;charset=UTF-8");//Cookie默认不支持中文,只能包含ASCII字符,所以Cookie需要对Unicode字符进行编码,否则会出现乱码Cookie cookie = new Cookie("姓名", "张三");//设置Cookie的访问路径cookie.setPath("/webProject09_war_exploded/GetCookieValueServlet03");//发送Cookie到客户端response.addCookie(cookie);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

6.2 读取带中文Cookie

package com.cxyzxc.www.servlet01;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet(name = "GetCookieValueServlet03", value = "/GetCookieValueServlet03")
public class GetCookieValueServlet03 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置请求参数的编码格式,这种方式对get请求方式无效request.setCharacterEncoding("UTF-8");//设置响应编码格式为UTF-8response.setContentType("text/html;charset=UTF-8");//获取所有CookieCookie[] cookies = request.getCookies();//遍历数组,获取所有的Cookiefor (Cookie cookie : cookies) {System.out.println(cookie.getName() + "-" + cookie.getValue());}System.out.println("----------------------------------------");//遍历数组,获取指定的Cookiefor (Cookie cookie : cookies) {if (cookie.getName().equals("姓名")) {System.out.println(cookie.getName() + "-" + cookie.getValue());}}}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

6.3 获取中文Cookie请求效果

 

6.4 解决创建和获取中文Cookie

6.4.1 创建中文Cookie

package com.cxyzxc.www.servlet01;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;@WebServlet(name = "CookieServlet04", value = "/CookieServlet04")
public class CookieServlet04 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置请求参数的编码格式,这种方式对get请求方式无效request.setCharacterEncoding("UTF-8");//设置响应编码格式为UTF-8response.setContentType("text/html;charset=UTF-8");//Cookie默认不支持中文,只能包含ASCII字符,所以Cookie需要对Unicode字符进行编码,否则会出现乱码Cookie cookie = new Cookie(URLEncoder.encode("姓名","UTF-8"),URLEncoder.encode("张三","UTF-8"));//设置Cookie的访问路径cookie.setPath("/webProject09_war_exploded/GetCookieValueServlet04");//发送Cookie到客户端response.addCookie(cookie);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

 

6.4.2 获取中文Cookie

package com.cxyzxc.www.servlet01;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLDecoder;@WebServlet(name = "GetCookieValueServlet04", value = "/GetCookieValueServlet04")
public class GetCookieValueServlet04 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置请求参数的编码格式,这种方式对get请求方式无效request.setCharacterEncoding("UTF-8");//设置响应编码格式为UTF-8response.setContentType("text/html;charset=UTF-8");//获取所有CookieCookie[] cookies = request.getCookies();//遍历数组,获取指定的Cookiefor (Cookie cookie : cookies) {if (URLDecoder.decode(cookie.getName(),"UTF-8").equals("姓名")) {System.out.println(URLDecoder.decode(cookie.getName(),"UTF-8") + "-" + URLDecoder.decode(cookie.getValue(),"UTF-8"));}}}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

6.4.3 获取中文Cookie请求效果

 

7 Cookie优点和缺点

7.1 Cookie优点

  • 可配置到期规则

  • 简单性:Cookie是一种基于文本的轻量结构,包含简单的键值对

  • 数据持久性:Cookie默认在过期之前是可以一直存在客户端浏览器上的

7.2 Cookie缺点

  • 大小受到限制:大多数浏览器对Cookie的大小有4K、8K字节的限制

  • 用户配置为禁用:有些用户禁用了浏览器或客户端设备接收Cookie的能力,因此限制了这一功能

  • 潜在的安全风险:Cookie可能会被篡改。会对安全性造成潜在风险或者导致依赖于Cookie的应用程序失败

 

http://www.tj-hxxt.cn/news/30427.html

相关文章:

  • 建设外国商城网站优化网站内容的方法
  • 网站建设模块分析西安seo优化排名
  • 去了哪找网站建设公司网络推广营销策划方案
  • 什么语言网站比较安全济南网站制作公司
  • 外贸网站怎么做促销seo快速优化
  • 女和男做搞基视频网站a5站长网网站交易
  • 如何做高网站的浏览量今日刚刚发生的新闻
  • 做网站和做app有什么不同怎样建立一个网站
  • 网站建设社区高佣金app软件推广平台
  • 自建企业网站教程网站内部链接优化方法
  • 辽阳企业网站建设服务搜索引擎优化的办法有哪些
  • 濮阳网站建设广州百度关键词推广
  • 19网站建设一键优化下载安装
  • 深圳有哪些软件开发公司热门seo推广排名稳定
  • 网站兼容所有浏览器今日热搜排行第一名
  • 甘肃做网站上海app开发公司
  • 网站交互做的比较好的凡科网小程序
  • 网站毕业设计代做靠谱吗附近电脑培训学校
  • 网站滑块验证怎么做作品推广
  • 做外贸有哪些免费的网站东莞推广服务
  • 高端大气企业网站哪个平台做推广效果好
  • 湖州网站推广青岛seo百科
  • 家具网站建设规划书一点优化
  • wordpress++xml深圳优化公司
  • 网站加入百度广告联盟免费推广的app有哪些
  • 银川网站建设优化网站排名方法教程
  • 深圳宝安企业网站建设百度注册新账号
  • 网站改手机版网络seo优化公司
  • 怎么做云购网站服装网络营销策划书
  • 做网站投诉要钱吗快推广app下载