之前遇到session不知道为什么就是不能使用,每次刷新都会产生新的session,研究了整个晚上也没有结果,来这里发帖请教也没能得解,刚才一刹那终于发现了原因,原来是那么不值得一提现发个帖解释一下,也希望能帮到所有遇到问题的朋友。只是一个简单的测试session的servlet,代码如下:
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
if(session.isNew()) {
out.print("new");
}else {
out.print("come back");
}
out.flush();
out.close();
}
测试URL: http://localhost:8080/JSP&Servlet/go       //servlet配置为:  /go到这里访问URL的时候,无论刷新或是怎样,始终输出是new,经测试sessionid每次都是新的,客户端也没有禁用cookie,抓包后发现response中包含set-cookie头,但每个request中始终没有cookie。百思不得其解,无意中就观察到response的set-cookie头里面,JSESSIONID后面有个path,记录了访问路径,它的值为: 
/Path= ....JSP%26Servlet....
原来如此,由于我路径中有个"&",它被转成了%26,来标识cookie所指的路径,但是我每次访问时还是用的...JSP&Servlet... 浏览器当然认为没有&的cookie。
试了下把访问地址改为: http://localhost:8080/JSP%26Servlet/go    一切终于OK了。。