HttpURLConnection setReadTimeOut()无法正常工作

时间:2018-08-30 11:04:40

标签: 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(10000);
    JSONArray arrayObj = new JSONArray();
    arrayObj.put(123);
    out.println(arrayObj);  
%>

1 个答案:

答案 0 :(得分:0)

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

您可以看看here

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