cookie是存储是客户端上
session存储在服务器端内存上你通过禁止cookie,只能是cookie不能用结论:那本书在胡编。

解决方案 »

  1.   

    在通常的情况下,session是基于cookie的。但是也可以采用别的方法实现session,例如:改写url。如果你的URL都是通过response.encodeURL和response.encodeRedirectURL函数生成,服务器会自动根据客户端是否能够使用cookie,采取cookie或者改写url的方式实现session。详细的资料,你可以查看encodeURL和encodeRedirectURL函数的说明。
      

  2.   

    资料上可能是这个意思吧:
    cooky里面存了一个session id,如果禁用了cooky的话,那么这个session id就可能找不到了.并不是session失效了.
    encodeURL方法就包含了session id.
    public java.lang.String encodeURL(java.lang.String url)Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged. The implementation of this method includes the logic to determine whether the session ID needs to be encoded in the URL. For example, if the browser supports cookies, or session tracking is turned off, URL encoding is unnecessary. 
    For robust session tracking, all URLs emitted by a servlet should be run through this method. Otherwise, URL rewriting cannot be used with browsers which do not support cookies.Parameters:
    url - the url to be encoded.
    Returns:
    the encoded URL if encoding is needed; the unchanged URL otherwise.
      

  3.   

    ie系列浏览器,无论是否选择禁止cookie,浏览器都会接收session的cookie。所以用ie是看不出来的。如果你真的要看看session的原理,估计你需要自己实现一个http的客户端软件。这其实不难,java本身就有http的开发包,用c或者c++也很容易。http协议本身很简单。
      

  4.   

    使用session时,通常是要在客户端留下cookie的,楼上说的没错,ie不会禁止session留下的cookie,而这种cookie通常也只是留下一个session-id在客户端,不会有什么问题。
      

  5.   

    我通过自己编写的http服务模拟程序,发现:如果在服务器应答的http报文里面出现
    Set-Cookie: JSESSIONID=AE4E6285A0FBCAAF9B50E658711496E9; Path=/
    这个session id的话,无论我的ie是否禁用了cookie,这个编号每次都会出现在
    ie请求的http报文里面
    Cookie: JSESSIONID=1F229EF22A06B0446D4018240509654C通过上面的测试分析,我真的有点怀疑书上面写的,如果禁用了cookie真的就能够
    使session失效,我现在真的有点不相信了!祝你好运!
      

  6.   

    刚刚安装完成netscape,再次测试了我的程序,发现netscape确实能够
    限制session id 的保存,通过测试分析后得出了下面的结论:
    ie 6.0(以前的版本没有测试过)虽然限制了cookie但是不能限制session id 在cookie的保存。也就是说通过限制ie 的cookie的方式,无法限制session.祝你好运!
      

  7.   

    session是运行在服务器端的,cookie是运行在客户端的
      

  8.   

    如果禁用了cookie,session还是可以通过改写url来实现,很简单的例子就是看看几个电子交易平台网站的网页,比如贝塔斯曼、卓越,他们的网站所有的url中都有一个类似于uid=XXXXXX的参数,这个参数就是实现session的。另外,由于不少老式wap手机终端也不支持cookie,所以不少开发wap的公司,如果使用asp或者php,必须自己实现session管理。用java平台要方便一些,因为java平台的encodeURL函数会判断客户端是否接收cookie,如果不接受,那么这个函数会自动把维持session的信息写入url中。http协议本身是无session的,换句话说,http服务器本身不管对方是谁。这是一个历史遗留问题,就象smtp协议会造成垃圾邮件一样。为了通过http服务实现电子商务等需求,W3C引进了cookie。