不好意思,我一个JSP新手不懂...一起学习中...

解决方案 »

  1.   

    你说的后一种情况是在没有使用url重写的方式保存session id,
    如果客户端在浏览器中禁用cookie,并且你使用url重写方式保存session id,那么在你点击一个不包含session id信息的链接是,session.isNew就为true了。另外如果你不作任何改动,把你所有的浏览器窗口关掉,然后再从别的页面链接过来也能实现。
      

  2.   

    To stonefeng(浩):
      能看看你的代码吗?
      对你的“url重写方式保存session id”不是很懂,session id是指session.getId吗?
      

  3.   

    回 simonxyc(夏天):
    可能是分太少。 希望楼主加分哦!:)>是不是因为分数太少??
    >为什么没人回答我回 楼主:
    http协议是一种无状态的协议,不能在多次访问之间保存状态,因此采用session技术。
    服务器会每次将sessionid发给客户端并保存在cookie中,浏览器在访问该web应用时,将把sessionid发回服务器,从而判断是否为同一个用户。以上是客户端的cookie不禁用的时候的做法。
    如果客户端的cookie禁用,则必须采用url重写的办法,将sessionid保存在发给客户的网页的链接中,即一旦用户点击该连接,就会将该sessionid发回给服务器,从而使服务器判断用户身份。
    如果用户点击了不包含sessionid的连接,则服务器端就会认为是新用户。url重写的语法:
    <%
    String originalUrl = "a.jsp";
    String encodeUrl = response.encodeUrl(originalUrl);
    %>
    <a href="<%=encodeUrl%>">连接</a>以上代码生成的网页代码类似下面这样:
    <a href="a.jsp;jsessionid=64372hjifewekhcd8s8632j3">
      

  4.   

    我觉得应该用filter,想得到哪个页面的点击率,在配置文件里一配就ok