我有以下代码:
URL urlServlet = new URL(WEB_SERVER_URL);
URLConnection connection = urlServlet.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setDefaultUseCaches(true);
connection.setRequestProperty("Content-Type", "application/octet-stream");
connection.setRequestProperty("event", "blah");
OutputStream outputStream = servletConnection.getOutputStream();
outputStream.flush();
outputStream.close();
服务器没有响应此程序。
但是如果我从连接中获取inputStream,我会在DoGet servlet方法中捕获断点。
我做错了什么?
答案 0 :(得分:2)
但是如果我从连接获得inputStream,我会在DoGet servlet方法中捕获断点。
我做错了什么?
你的错误是不要求回应。 URLConnection
被懒惰地执行了。只有在您要求回复时才会发送请求。调用getInputStream()
实际上会触发HTTP请求,因为您要求响应。只需打开和关闭请求正文时,就不会建立连接。