我观察到 java.io.BufferedReader 的 ready 方法有一个奇怪的行为,它在 Tomcat 中返回 false,而在 Jetty 中运行相同的 servlet 时返回 true。
BufferedReader bufferedReader = httpRequest.getReader();
System.out.println(bufferedReader.ready());
/** Perform some read operation */
输出:
true //Jetty
false //Tomcat
我了解 BufferedReader#ready 方法仅指示下一次读取是否不会因输入(真)或不(假)而被阻止,但我无法理解两个 Web 服务器环境之间其行为的差异。
如果有人以前已经遇到过这种情况,我需要帮助来更好地理解这一点吗?
提前致谢。