gpt4 book ai didi

java - 将很长的 URL 传递给 HTTPServletRequest

转载 作者:行者123 更新时间:2023-12-02 02:06:26 24 4
gpt4 key购买 nike

我想将一长串请求参数(总共超过 2000 个字符)从一个 .jsp 传递到另一个(通过 URL),并使其对于接收 HTTPServletRequest 来说就像是正常收到请求参数。

我无法简单地正常传递 URL,因为 IE11 将 URL 截断为大约 2000 个字符(请参阅 What is the maximum length of a URL in different browsers? ),因此我需要某种解决方法。

使用一个 .jsp 中的 key 将 url 保存在 ClientSession 中是很简单的

public String addValue(String aString) {
String key=""+UUID.randomUUID();
mapValues.put(key, aString);
return key;
}

然后在另一个.jsp中检索它

public String getValue(String key) {
return mapValues.get(key);
}

但是另一个 .jsp 需要 HTTPServletRequest 而不是字符串

即我需要能够做到

public MyPosition(HttpServletRequest request) {
this.id= (String)request.getParameter("ID");

是否可以通过将检索到的 url 转换为 HTTPServletRequest 来实现此目的?

我知道我可以重写 MyPosition 以获取字符串并直接从那里提取数据,但我宁愿不接触非常冗长的遗留代码。

如果我可以对请求执行setParameter,那么这将是一个解决方案。但这样的选项不可用(参见HttpServletRequest - SetParameter)

最佳答案

修改 HttpServletRequest 的唯一方法是 wrap它。

关于java - 将很长的 URL 传递给 HTTPServletRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50723034/

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