在不同的servllet中得到胡Id不同,获取方法:HttpSession s = request.getSession(false);
输出Id不同。。
哥。。。。我就是这样的。。
追答那就没有问题啊,你在仔细的检查,检查。
我的情况时这样的:
servletA:HttpSession session = request.getSession(); session.setAttribute("id", id);
servletB:HttpSession session = request.getSession(false); session.getAttribute("id");得到的值正确
servletC:HttpSession session = request.getSession(false); session.getAttribute("id");得到的值为空null;
B和C的区别就是A跳到B,而每有跳到C;
跳不跳根本不影响。只要你设置到session里面,其他地方就可以获取到。
追问我也是这么想的,就是获取不到,两个的Id也不一样。。,我输出获得的session事了下。Id不同。。。
追答检查你其他的业务逻辑吧,session这块肯定没有问题。
id不同你看看是不是多次set了。
至于后面又获取的值为null,可能是session过期或被清空了。
你好好检查别的地方吧。
这是不可能的,因为我刚开始做,刚开始用session,只有一个地方set的,没有用remove,至于session的生存周期,我一直都没动它,没在web。xml中设置过
追答如果是没有任何的逻辑,那就更不可能了。
你所谓的id不一样,是怎么不一样?你设置一个12345。打印出来是什么呢?
我System.out.println(session.getId());这输出的Id不同
追答你用的什么应用服务器?tomcat?
追问tomcat6.0
追答现在不管传不传值。别的你都不要写。
你就在三个Servlet中输出这个:
HttpSession session = request.getSession();
System.out.println(session.getId());
难道也不一样?
我试了,还是不一样呀。。。。急求呀。。
追答真的很想知道你怎么写的,能实现打印不同的session。
这种问题一般人还真是写不出来,等高手来解答吧。
在页面跳转的过程中有个超链接,是不是,他把session丢了
追答不是在Servlet里面么。和超链接没有关系。只要是同一个工程。同一个应用服务器,不会有问题的。你直接访问三个servlet呢?
比如:http://localhost:8080/app/ServletA