Vol*_*lyy 9 java tomcat servlets http
我们有下一个代码.
有时我们应该在最后一行等待10-20-40秒.
可能是什么问题?
Java 1.4
URL url = ...;
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.connect();
OutputStream out = conn.getOutputStream();
ObjectOutputStream outStream = new ObjectOutputStream(out);
try
{
outStream.writeObject(objArray);
}
finally
{
outStream.close();
}
InputStream input = conn.getInputStream();
Run Code Online (Sandbox Code Playgroud)
更新:
下一个代码修复了ECLIPSE中的问题.
但它仍然无法通过Java WebStart工作:(
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
System.setProperty("http.keepAlive", "false"); //<---------------
conn.connect();
Run Code Online (Sandbox Code Playgroud)
但为什么?
再次更新一次!
Bug被修复了!:)
我们使用的连接不是在一个类中,而是在两个类中.
第二类有以下几行:
URL url = ...
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Content-Length", "1000"); //<------------
conn.connect();
Run Code Online (Sandbox Code Playgroud)
注意:
setRequestProperty("Content-Length", "1000")是问题的根本原因.
ZZ *_*der 11
'我们遇到了一个类似的问题,这个问题是由旧Java中的bug-alive引起的.在连接之前添加它以查看它是否有帮助,
conn.setRequestProperty("Connection", "close");
Run Code Online (Sandbox Code Playgroud)
要么
System.setProperty("http.keepAlive", "false");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17717 次 |
| 最近记录: |