锁定老帖子 主题:请教httpsession是如何实现的?
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-12-30
" 如果是单Frame页面,新开一个浏览器窗口,Session会复制过去。两个浏览器会共享一个Session。 "
Session 回复制? ![]() |
|
返回顶楼 | |
发表时间:2005-12-30
killvin 写道 " 如果是单Frame页面,新开一个浏览器窗口,Session会复制过去。两个浏览器会共享一个Session。 "
Session 回复制? ![]() 是这样的,在当前浏览器中,Ctrl+N新打开一个浏览器窗口,共享原浏览器中保存的cookie(jsessionId),不是指服务端的session复制。就这点语病也被你抓住了? |
|
返回顶楼 | |
发表时间:2006-01-04
那如果response返回的页面里面有的URL是通过JavaScript拼的,也可以URL重写吗?
比如经常有这样的JavaScript代码: function submitForm() { document.forms[0].action = "xxxxxx.do"; document.forms[0].submit(); } |
|
返回顶楼 | |
发表时间:2006-01-04
引用 那如果response返回的页面里面有的URL是通过JavaScript拼的,也可以URL重写吗?
比如经常有这样的JavaScript代码: function submitForm() { document.forms[0].action = "xxxxxx.do"; document.forms[0].submit(); } 你这样不可以,得改换一下:(for jsp?) function submitForm() { document.forms[0].action = "xxxxxx.do;jsessionid=<? =SessionHelper.getSessionId()?>"; document.forms[0].submit(); } |
|
返回顶楼 | |
发表时间:2006-01-04
TO 楼上:
那这样在JSP页面中写javascript不是要处处留神,记得加上sessionid,不然一不小心就不是同一个session了? 特别现在那么流行用XMLHttpRequest,那不是都要记住在请求URL后面跟上sessionid了??比如说: req = getXMLHTTPRequest(); if (req) { req.onreadystatechange = XXXFunction; req.open("post", "register.do", true); req.send("jsessionid=xxxxxxxxxx"); } |
|
返回顶楼 | |
发表时间:2006-01-05
仔细看看吧:
http://www.supcode.com/Article/html/4/43/2005/06/29/216335472190.shtml |
|
返回顶楼 | |
发表时间:2006-01-05
我晕,以前都没有注意过这种问题的说。
如果要URL重写,现在真有些草木皆兵的感觉 |
|
返回顶楼 | |
发表时间:2006-01-09
用C++/java写一个服务器就自然知道了
|
|
返回顶楼 | |
发表时间:2006-01-12
rtm 写道 因为我出现了这样的问题,在一个框架的右页面登录另外一个站点后经常就取不到哪个session了
在同一进程中的IE会共享进程空间的内存的中的cookie(持久化的cookie可以跨进程),在同一IE下会共享单一cookie,你需要维护同一IE下的不同cookie,cookie值的更改可以是客户端。 你可以在每个frame中document.cookie读出第一次的cookie的所有属性, 如Name-Value, expires, path, domain之类. 然后在做动作之前用javascript动态设置内存中的cookie的属性. document.cookie=**;***. 且**;***需要跨页面传递. 只是友情提示, 没有试验过, 希望有帮助. kind regards |
|
返回顶楼 | |
发表时间:2006-01-12
关注,这对做BS系统很有用
|
|
返回顶楼 | |