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