编程时间:12小时左右
代码行数:约550行
博客园发表量:2篇
所学知识点:
主要学会了cookie 和session的用法
Cookie是Web服务器保存在用户硬盘上的一段文本。Windows系统中保存路径C:\Documents and Settings\登录用户名\Cookies
cookie分为临时cookie和长久cookie。如果一个cookie没有设置有效期,那么浏览器在关闭时就会删除这个cookie,这种cookie叫做临时cookie,如果cookie设置了有效期,那么浏览器会一直保存这个cookie,直到有效期为止,这种cookie叫做长久cookie。cookie常用于存储用户的登录信息。服务器识别客户端Cookie的三个步骤:
1.服务器脚本发送一系列cookie至客户端浏览器。2.浏览器在本地机中立即存储这些信息3.当下一次浏览器发送任何请求至服务器时,它会同时将发送这些cookie信息到服务器,然后服务器使用这些信息来识别用户或者进行其他的操作。
获取cookie的代码:Cookie[] cookies = request.getCookies();作用: Cookie对象通常用于在浏览器端保存与服务器会话过程中的一些数据。当浏览器访问Web服务器(某一站点)时,相应的cookie会自动发送到服务器上。
写入Cookie的主要步骤:创建Cookie对象设定Cookie的属性(一般设置Cookie的有效期)调用response.addCookie(Cookie c)方法将其写入到客户端<% Cookie c=new Cookie("season","spring"); c.setMaxAge(30); //cookie的有效期为30秒 response.addCookie(c);%>
Session对象存储在服务器端,作用是在会话范围内,记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态它所实现的接口为:javax.servlet.http.HttpSession可以在jsp页面中直接使用session对象,也可以通过pageContext.getSession() 或 request.getSession ()方法重新获取
工作原理
1.客户首次访问服务器的一个页面时,服务器就会为该客户分配一个session对象,同时为该session对象指定一个唯一的ID,并将该ID号发送到客户端并要求客户端写入到Cookie中,使得客户端与服务器对应该客户端的某一个session对象建立一对一的关系。
2.当客户继续访问服务上的其他资源时会在HTTP头中带上session ID,服务器不再为该客户分配新的session ID,直到客户端浏览器关闭、超时或调用session的invalidate()方法时期失效,客户端与服务器的会话结束。3.当客户端重新打开浏览器访问网站时,服务器会重新为客户分配一个Session对象,重新分配Session id。
cookie session不同
不同:存放地点:cookie存放在客户端的硬盘里,属于离线存放,而session存放在服务器的内存中。存活时间:cookie可以长期存放在客户端,具体的存活时间由setMaxAge()方法所指定的数值决定,session随用户访问服务器而产生,随客户超时或下线而消失。安全性:cookie存放在客户端,可能会被别有用心的网站读取,安全性较差,而session存放在服务器的内存中,用户不能修改,且随客户端浏览器的关闭而消失,安全性较好。联系:不论是cookie还是session内置对象都需要浏览器支持cookie并且没有禁用cookie。
转载于:https://www.cnblogs.com/zzstdruan1707-4/p/10645126.html
相关资源:数据结构—成绩单生成器