我有一个带有几个 servlet 的 Tomcat 应用程序。该应用程序运行嵌入式 Java Applet 和 GWT 网页。
问题是我从 Tomcat 获取一些数据的 POST 请求被阻止,而另一个 servlet 请求(不同的 servlet)正在处理另一个请求。
这是我获取数据的小程序代码:
Integer code = new Integer(FETCH_IMAGE);
Serializable objs[] = { code, username, id.getID(), id.getSeriesID(), id.getStudyID() };
//URLConnection con = postObjects(servletUrl, objs);
System.out.println("---->POST image request start...");
URLConnection con = servletHttpConnection.postObjects(objs);
System.out.println("---->POST image request end...");
System.out.println("---->ObjectInputStream start...");
ObjectInputStream in = new ObjectInputStream( con.getInputStream());
System.out.println("---->ObjectInputStream end...");
//Read the value as an Object
System.out.println("---->Read stream for image start...");
Object obj = in.readObject();
System.out.println("---->Read stream for image end...");
我的 Tomcat 实例正在执行一些 I/O,同时我的小程序执行上面的代码以尝试获取一些数据。我还在“doPost”方法的开头转储了一个日志,直到请求 #1 结束它才到达那里。我的小程序在以下位置被阻止:
ObjectInputStream in = new ObjectInputStream( con.getInputStream());
我可以围绕这个问题进行设计吗?或者为什么它被阻塞在那里,为什么 Tomcat 在 #1 工作时无法响应我的请求 #2?