java ee的一个项目中,我用jsessionid来判断发送请求的客户端是否是同个会话,但是后台servlet中用
HttpservletRequest.getRequest().getRequestedSessionId()取得sessionid,并不是一直不变的,即时是同个会话,取到jsessionid也会改变。请问下怎么保持同个客户端会话发送的请求的sessionid不变?最好给我个例子。
ps:不是说同个会话产生的jsessionid是一样的吗?这个有点不理解。java eeservletjsessionid

解决方案 »

  1.   

    看看API文档
    String getRequestedSessionId()
    Returns the session ID specified by the client. This may not be the same as the ID of the current valid session for this request. If the client did not specify a session ID, this method returns null.
      

  2.   

    这个有看到,他说不一定一样,但是怎么保持同个会话的sessionID呢?
    我的想法是把客户端第一次请求的jsessionid保存,当客户端每次请求,我都返回给他这个jsessionid,
    客户端每次请求都带上这个jsessionid,这样来判断是否是同个会话,但是这样是否太麻烦?能详细说明下,给个例子啥的吗?
      

  3.   

    你不能用cookie吗   把请求的客户端参数保存吗
      

  4.   

    不知道你是禁用了cookie还是怎么回事,导致客户端传来的jsessionid是无效的,session是依赖cookie的,禁用cookie后,可以通过url重写,把sessionid带过来。具体你找个教程看看