如果客户端关闭了cookie
当然不能识别客户端只有让他重新登陆另外session 和cookie是二回事。。
session的生命周期是随浏览器的。当浏览器关闭时。。SESSION也就没有了。但COOKIE是保存在你自己的硬盘上的。。可以设置COOKIE的生命周期。。
当然不能识别客户端只有让他重新登陆另外session 和cookie是二回事。。
session的生命周期是随浏览器的。当浏览器关闭时。。SESSION也就没有了。但COOKIE是保存在你自己的硬盘上的。。可以设置COOKIE的生命周期。。
response.sendRedirect(response.encodeRedirectURL(request.getContextPath() + uri)对于forward:
RequestDispatcher rd = getServletContext().getRequestDispatcher(response.encodeURL(uri));
rd.forward(request, response);
确实是两回事,可是一般的Session 就是利用cookie来搞的,
将cookie生命周期设成浏览器关闭失效这种来达到目的的,
如果不信,你可以将cookie的值全部取出来看看(当浏览器没关闭时),>>只有让他重新登陆
就算他重新登录,也只能看登录后的一个页面,这样的话session就失去了它的意义了在PHP中,可以在URL中将session及sessionID作为一个参数值对带着跑这样来解决,jsp中应该也有好的解决方法吧!
小弟愚昧,能否解释一下原理!
session的生命周期是随浏览器的,当浏览器关闭时,session也就没有了。当然,我们也可以在生成session时设置session的作用时间!但cookie是保存在你自己的硬盘上的,可以设置cookie的生命周期,它可以在客户端打开或关闭.而且两者访问方式也不一样的!
我要copy 这个response.sendRedirect(response.encodeRedirectURL(request.getContextPath() + uri)到网页的什么位置?
我放在第一行出现错误:
Generated servlet error:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] G:\tomcat4\work\Apache\www.amway.com\_\carts_jsp.java:55: cannot resolve symbol
[javac] symbol : variable uri
[javac] location: class org.apache.jsp.carts_jsp
[javac] response.sendRedirect(response.encodeRedirectURL(request.getContextPath() + uri));
[javac] ^
[javac] 1 error
真的急呀,已经冒汗了呀!
:/
去买一本oreilly的《Java与XSLT》(中文版),
里面有讲怎样判断客户端是否支持cookie,已经怎样自动在URL后面加上sessionid的。我看过,但是没有实际操作过,现在书也不在身边了,你可以去买来看看里面是怎么具体实现的。http://www.oreilly.com.cn/catalog/javaandXSLT/index.htm
通过URL重组,这是个好办法,可我不会用可也没想到CSDN上的高手也只是点到为止!我想也只好潜心修练(再去买几本书先),当我搞定具体实现时,再给个实例出来!