javaWeb 基础知识
cookie 深度解析: http://blog.csdn.net/ghsau/article/details/20395681
cookie 的作用:
利用存在客户端本地的缓存让无状态的服务器也能识别客户端;
cookie
既可以被服务器都写 也可以的js脚本读写; 但如果设置了HttpOnly属性; 脚本将无法读写;
javax.servlet.http.Cookie 这个类可以设置 设置cookie的名称、内容、作用路径、作用域、协议、生存周期,but不能设置HttpOnly属性 ;
但可以通过 响应头来 设置 httpOnly属性: response.setHeader("Set-Cookie", "cookiename=value;Path=/;Domain=domainvalue;Max-Age=seconds;HttpOnly");
java Cookie 的创建:
cookie的创建:
Cookie cookie = new Cookie("test_key", "test_value");
cookie.setPath("/");
cookie.setDomain(".ghsau.com");
response.addCookie(cookie);
cookie的获取:
// 输出cookies,过滤掉JSESSIONID
Cookie[] cookies = request.getCookies();
if(cookies != null) {
for(Cookie cookie : cookies) {
if(cookie.getName().equals("JSESSIONID")) continue;
out.println(cookie.getName() + "-" + cookie.getValue());
}
}
JavaScript Cookie的创建:
function setCookie(c_name, obj, expiredays) {
var value = JSON.stringify(obj); // 如果穿进来是个对象;先将对象转换成json字符串;
var exdate = new Date();
if(expiredays == null ) expiredays = 31; //默认cookie保存 31天;
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + "=" + escape(value) + ";expires=" + exdate.toGMTString();
}
cookie 与 域名的关系:
1: cookie默认情况下作用域为当前域名。
2; cookie作用域为父级域名时,所有子级域名都可以得到该cookie,
3: cookie不能跨二级域名设置。
cookie 揭秘: http://www.cnblogs.com/zhangziqiu/archive/2009/08/06/cookies-javascript-aspnet.html
cookie 是如何传递的?
(1):页面 请求 ; 在请求一个页面的Http头中,会将属于此页面的本地Cookies信息加在Http头中 ;
Cookie: My.Common.TestCookieInfo=Pkid=999&TestValue=aaabbbcccdddeee
(2) 服务器响应: 如果页面写入Cookies信息,则返回的Http如下:
Set-Cookie: My.Common.TestCookieInfo=Pkid=999&TestValue=aaabbbcccdddeee; expires=Fri, 07-Aug-2009 03:40:59 GMT; path=/
cookie 的限制:
1: 大小: 4096 字节;
2: 个数: 每个站点 20个; 最多约 300个 ;
cookie的存储格式:
1) js: document.cookie 是一个字符串
2) java: 是一个数组;
Cookie[] cookies = request.getCookies();
cookie的内容编码格式:
Cookies的值中可以保存除了“;”以外的标点符号。但是不能保存汉字。保存汉字会出现乱码。
javaWeb 基础知识的更多相关文章
- JavaWeb基础知识总结
JavaWeb基础知识总结. 1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供 ...
- 超详细的Java面试题总结(四 )之JavaWeb基础知识总结
系列文章请查看: 超详细的Java面试题总结(一)之Java基础知识篇 超详细的Java面试题总结(二)之Java基础知识篇 超详细的Java面试题总结(三)之Java集合篇常见问题 超详细的Java ...
- [Java面试三]JavaWeb基础知识总结.
1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静 ...
- JavaWeb基础知识
一.WEB基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web ...
- JavaWeb 基础知识补充
软件架构 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端程序,在远程有一个服务器端程序 * 如:QQ,迅雷... ...
- 超详细的Java面试题总结之JavaWeb基础知识总结
ervlet总结: 在Java Web程序中,Servlet主要负责接收用户请求HttpServletRequest,在doGet(),doPost()中做相应的处理,并将回应HttpServletR ...
- 走进JavaWeb技术世界1:JavaWeb的由来和基础知识
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- JAVAWeb入门之JSP基础知识
也是到了考试周,很多课都结了,准备去学点新东西.随后就开始自学JAVAWeb. 要学习JAVAWeb,首先需下面的知识: a) HTML/CSS/JS(前端页面),XML,JSON,vue ...
- Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识
JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...
随机推荐
- 201521123028《Java程序设计》第4周学习总结
1. 本周学习总结 2. 书面作业 Q1.注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看. 对上周PTA的实验5-3中的矩形和圆形类做注释. Q2.面向对象 ...
- 201521123045 《Java程序设计》第9周学习总结
201521123045 <Java程序设计>第9周学习总结 1. 本章学习总结 2. 书面作业 本次PTA作业题集异常 1.常用异常题目5-11.1 截图你的提交结果(出现学号) 1.2 ...
- 设置文件opendilag、savedilog默认路径和文件类型
dlgSave1.Filter:='文件.txt|*.txt;|word文件|*.doc,*.docx'; dlgSave1.InitialDir:=GetCurrentDir; //设置为当前路径 ...
- 运用GRASP原则来做uml交互类图-------pos机实例
重要的几个GRASP原则:1.控制器模式 2.创建者模式 (原则)3.信息专家模式(原则) 4. 高内聚 低耦合 这里所说的模式并不是java中针对具体的事件的设计模式 主成功场景的几个操作: ...
- Python-老男孩-03_socket
Socket简介: 所谓Socket也称"套接字",用于描述IP和端口,是一个通信链的句柄,应用程序通过"套接字"向网络发出请求或应答网络请求. Socket起 ...
- flex布局常用属性
最近喜欢flex布局,它可以完美的实现响应式布局,下边我总结了它的一些常用属性,喜欢的,也可以练习写一下,很好用~~~ 注意:使用了flex布局,对于子元素的float.clear和vertical- ...
- Java对象克隆详解
原文:http://www.cnblogs.com/Qian123/p/5710533.html 假如说你想复制一个简单变量.很简单: int apples = 5; int pears = appl ...
- angular directive知识
一般来讲 directive名字遵循一下规则: 1.忽略以x-和data-为元素/属性的前缀 2.转化“:”,“-”,“_”命名为驼峰命名 如下所示 <div ng-controller=&qu ...
- struts标签与jstl标签互换
近期在做struts切换spring mvc时发现代码中使用了大量的struts标签,对常用的struts标签做了总结,首先需要引入 <%@ taglib prefix="c" ...
- snmp4j 之 ArgumentParser
ArgumentParser ArgumentParser命令行解析器 将数组转换成Java对象 根据预定计划选项和参数,以及相应的命令行选项联合每个对象 ArgumentParser argumen ...