Java HttpURLConnection setReadTimeOut()未按预期工作

Java HttpURLConnection setReadTimeOut()未按预期工作,java,web-services,http,https,http-headers,Java,Web Services,Http,Https,Http Headers,我使用HttpURLConnection连接到jsp页面,并将readTimeout配置为5s 并通过Thread.Sleep()将jsp页面执行延迟10秒 但不要获取超时异常,而是连接等待10秒以获取响应 HttpURLConnection con = (HttpURLConnection)jspUrl.openConnection(); con.setReadTimeout(5000); con.connect(); Jsp页面内容如下所示 <% Thread.sleep(1

我使用HttpURLConnection连接到jsp页面,并将readTimeout配置为5s

并通过Thread.Sleep()将jsp页面执行延迟10秒

但不要获取超时异常,而是连接等待10秒以获取响应

HttpURLConnection con = (HttpURLConnection)jspUrl.openConnection();
con.setReadTimeout(5000);
con.connect();
Jsp页面内容如下所示

<%
    Thread.sleep(10000);
    JSONArray arrayObj = new JSONArray();
    arrayObj.put(123);
    out.println(arrayObj);  
%>

在运行时,您的jsp页面被编译成一个servlet类,一直编译到您的
Thread.sleep(10000)调用,一些响应已经通过连接写入。因此,在客户端(您的httpurlconnection)中,您已经读取了一些数据,这样您就不会陷入readtimeoutexception

你可以看看

您应该直接使用
Servlet
来测试超时