八、利用cookie检测初访者的常见错误
*************************************************************************************
不能仅仅因为cookie数组中不存在在特定的数据项就认为用户是个初访者。假如cookie数组为null,客户大概是一个初访者,也大概是由于用户将cookie删除或禁用造成的功效。
可是,假如数组非null,也不外是显示客户曾经到过你的网站或域,并不能说明他们曾经会见过你的servlet。其它servlet、JSP页面以及非Java Web应用都可以配置cookie,依据路径的配置,个中的任何cookie都有大概返回给用户的欣赏器。
正确的做法是判定cookie数组是否为空且是否存在指定的Cookie工具且值正确。
*************************************************************************************
九、利用cookie属性的留意问题
*************************************************************************************
属性是从处事器发送到欣赏器的报头的一部门;但它们不属于由欣赏器返回给处事器的报头。
因此除了名称和值之外,cookie属性只合用于从处事器输出到客户端的cookie;处事器端来自于欣赏器的cookie并没有配置这些属性。
因而不要期望通过request.getCookies获得的cookie中可以利用这个属性。这意味着,你不能仅仅通过配置cookie的最大时效,发出它,在随后的输入数组中查找适当的cookie,读取它的值,修改它并将它存回Cookie,从而实现不绝改变的cookie值。
*************************************************************************************
十、如何利用cookie记录各个用户的会见计数
*************************************************************************************
1.获取cookie数组中专门用于统计用户会见次数的cookie的值
2.将值转换成int型
3.将值加1并用本来的名称从头建设一个Cookie工具
4.从头配置最大时效
5.将新的cookie输出
*************************************************************************************
十一、session在差异情况下的差异寄义
*************************************************************************************
session,中文常常翻译为会话,其原来的寄义是指有始有终的一系列行动/动静,好比打电话是从拿起电话拨号到挂断电话这中间的一系列进程可以称之为一个session。
然而当session一词与网络协议相关联时,它又往往隐含了“面向毗连”和/或“保持状态”这样两个寄义。
session在Web开拓情况下的语义又有了新的扩展,它的寄义是指一类用来在客户端与处事器端之间保持状态的办理方案。有时候Session也用来指这种办理方案的存储布局。
*************************************************************************************
十二、session的机制
*************************************************************************************
session机制是一种处事器端的机制,处事器利用一种雷同于散列表的布局(也大概就是利用散列表)来生存信息。
但措施需要为某个客户端的请求建设一个session的时候,处事器首先查抄这个客户端的请求里是否包括了一个session标识-称为session id,假如已经包括一个session id则说明以前已经为此客户建设过session,处事器就凭据session id把这个session检索出来利用(假如检索不到,大概会新建一个,这种环境大概呈此刻处事端已经删除了该用户对应的session工具,但用户工钱地在请求的URL后头附加上一个JSESSION的参数)。
假如客户请求不包括session id,则为此客户建设一个session而且生成一个与此session相关联的session id,这个session id将在本次响应中返回给客户端生存。
*************************************************************************************
十三、生存session id的几种方法
*************************************************************************************
A.生存session id的方法可以回收cookie,这样在交互进程中欣赏器可以自动的凭据法则把这个标识发送给处事器。
B.由于cookie可以被工钱的克制,必需有其它的机制以便在cookie被克制时仍然可以或许把session id通报回处事器,常常回收的一种技能叫做URL重写,就是把session id附加在URL路径的后头,附加的方法也有两种,一种是作为URL路径的附加信息,另一种是作为查询字符串附加在URL后头。网络在整个交互进程中始终保持状态,就必需在每个客户端大概请求的路径后头都包括这个session id。
C.另一种技能叫做表单埋没字段。就是处事器会自动修改表单,添加一个埋没字段,以便在表单提交时可以或许把session id通报回处事器。
*************************************************************************************