我最近升级了我的应用程序。我的应用程序使用带有 servlet 和 jsp 的 Java web API。 我在新版本中从 Java 7 切换到了 Java 8。
我的服务器现在使用的是 Wildfly10 平台,它使用 Java 8。以前是 Jboss 7,它使用 Java 7。
在我的应用程序的前一个版本中,当我在特定页面添加 +- 300 个属性时,我的应用程序崩溃了,这使得我的请求 url 很长。但在我的新版本中,这不再是问题,无需在具体代码处进行更改。
Java 7 和 Java 8 中请求 url 的大小限制有区别吗?
最佳答案
重要的不是 Java 版本,而是应用服务器。应用程序服务器正在尝试保护您的 Web 应用程序免受各种攻击,包括所谓的“hash collision DOS attack”。 '.为了击退此类攻击,Web 服务器对可通过 URL 传递的参数数量施加了限制。 Wildfly 具有设置 max-parameters
(您可以在 the official documentation 中找到说明)。 JBoss 7 和 Wildfly 10 也有限制发布请求的最大大小的设置(分别是 maxPostSize
和 max-post-size
),也许你在你的以前的应用程序版本。
关于Java 7/8 请求参数大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38451802/