我有3个Servlet:
Servlet1-用于通过以下方式创建会话:session = request.getSession(true)
Servlet2-用于显示Servlet1的内容
Servlet3用于通过以下方式调用Servlet2:HttpURLConnection connectionx =(HttpURLConnection)url
.openConnection();得到的结果是:
BufferedReader reader = new BufferedReader(new InputStreamReader(((HttpURLConnection)
(new URL(the_url)).openConnection()).getInputStream(), Charset.forName("UTF-8")));
问题是:我在运行Servlet1创建会话时发现了它
然后我运行Servlet 3来调用Servlet2 ...>我得到了'servlet 2'无法从创建的会话中读取的信息。
但是,如果我直接从浏览器运行Servlet2,则会得到一个会话。
Servlet2有什么问题
以及我该如何解决?
最佳答案
当您使用HttpClient从Servlet 3调用Servlet 2时,您错过了传递JSESSIONID cookie的机会。
关于java - 从另一个包含 session 的Servlet调用Servlet期间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20320300/