Java Servlet到达BufferedReader时将超时?

Java Servlet到达BufferedReader时将超时?,java,jsp,bufferedreader,Java,Jsp,Bufferedreader,编辑:所有这些代码在外部环境下都可以正常工作(即,在DEA12中,它工作得非常完美),但当我部署它时,它会在bufferedreader上暂停 编辑两个:因此,问题当然在于bufferedreader。如果我将URL更改为包含少量文本(比如)的内容,那么一切都会很完美。我必须使用的URL有很多文本(例如:)。有人知道解决这个问题的办法吗 我的serlvet正在计时,通过我的日志,我缩小了它发生的范围。servlet通过URL读入数据并解析它们,但是当它到达bufferedreader时,它正在超

编辑:所有这些代码在外部环境下都可以正常工作(即,在DEA12中,它工作得非常完美),但当我部署它时,它会在bufferedreader上暂停

编辑两个:因此,问题当然在于bufferedreader。如果我将URL更改为包含少量文本(比如)的内容,那么一切都会很完美。我必须使用的URL有很多文本(例如:)。有人知道解决这个问题的办法吗

我的serlvet正在计时,通过我的日志,我缩小了它发生的范围。servlet通过URL读入数据并解析它们,但是当它到达bufferedreader时,它正在超时(我已经在代码中注释了,它就在切换之后):


你知道为什么会发生这种情况,或者我如何解决它吗

URLConnetion将不会从此行之前的连接开始读取(流数据)

BufferedReader reader = new BufferedReader(new 
              InputStreamReader(connection.getInputStream()));
connection.getInputStream()
将导致连接对象开始从URL读取数据

您的服务器似乎无法访问URL,正在超时

您可能希望通过调用
connection.setTimeOut()

尝试执行
PING,从服务器跟踪到这些URL,以验证您有权访问这些URL,并且没有防火墙阻止

来自JavaDocs-

>     openConnection()
>     ----------------------------> 
>     The connection object is created by invoking the openConnection method on a URL.
> 
>     getInputStream()
>     ---------------------------->
>     Returns an input stream that reads from this open connection.

谢谢你的建议,它让我找到了答案,正如你所猜测的那样,这是一个防火墙块。再次感谢!
BufferedReader reader = new BufferedReader(new 
              InputStreamReader(connection.getInputStream()));
>     openConnection()
>     ----------------------------> 
>     The connection object is created by invoking the openConnection method on a URL.
> 
>     getInputStream()
>     ---------------------------->
>     Returns an input stream that reads from this open connection.