gpt4 book ai didi

javax.servlet.HttpServletRequest.getContentLength() 在 EE6 中的行为是否正确?

转载 作者:行者123 更新时间:2023-12-01 12:52:15 31 4
gpt4 key购买 nike

我的问题重复 javax.servlet.HttpServletRequest.getContentLength() returns int only ,但是我感兴趣的是不同的。什么是正确的返回javax.servlet.HttpServletRequest.getContentLength() 当内容长度大于 Integer.MAX_VALUE 时?问题作者假设它是-1。然而 servlet 规范并未涵盖该主题。 http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getContentLength%28%29当长度未知时,它显示为-1。这是不正确的,因为长度已知,根本不适合整数。EE7 弥补了这一差距 http://docs.oracle.com/javaee/7/api/javax/servlet/ServletRequest.html#getContentLength%28%29甚至引入了 getContentLengthLong()。但是我的问题是,如果我实现 EE6 规范,在内容长度 > Integer.MAX_VALUE 的情况下什么是正确的行为?

最佳答案

您需要阅读 Java EE 7 version of ServletRequest.getContentLength() 的 JavaDoc .

它说得很清楚:

... or -1 if the length is not known or is greater than Integer.MAX_VALUE

请注意,如果您尝试读取较大的请求正文,那么它几乎肯定会被分块。当然,许多 HTTP 防火墙和代理都会对大型主体进行分块。

关于javax.servlet.HttpServletRequest.getContentLength() 在 EE6 中的行为是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24132836/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com