您的位置:首页 > 其它

session

2012-05-02 04:08 99 查看
在cookie中已经说过了,算不上可靠稳定,也不保险,因为用户可能会禁止掉cookie,那么服务器就没法向浏览器发送cookie,就可能导致核心内容无法按照正常设计的目的运行。

这个时候就需要另外一种机制,这个叫做session。

如果不想在客户端写的话,那么就要在服务器端写了。怎么个做法呢?当客户端访问服务器并需要这种记录的时候,服务器先看看这个客户端有没有session,没有的话在服务器端创建一个,并且为其添加一个session id,将需要记录的内容写在服务器端,并且将这个session id以cookie的形式写到客户端去,这样二者就构成了配对。那么一个新的客户端访问服务器并且需要记录的时候,服务器就会创建一个新的session,这样就不会混淆。

这样如果客户端禁止掉还是就不能写了,而且每一次都会在服务器端创建一个新的session,只是没有办法传给客户端。但是session仍然有好处:首先,客户端不会写那么多内容,第二,由于cookie只能写文本并且大小最大为4K,这样有一些限制,但是你在服务器端,你想写多少就写多少,更加灵活。

那么怎么创建呢?可以使用 HttpSession session = request.getSession(true);

意思就是,从客户端的请求查看session,true的含义是如果客户端第一次访问的话,就为其创建一个session。

session还有一个好处就是,跟路径无关,只要是在一个同一个Web app下面,所有的servlet都可以访问,前提是窗口和窗口之间有父子关系。也就是说,你可以在原窗口基础上打开新的窗口,但是你如果从浏览器图标处打开一个新的就不行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: