gpt4 book ai didi

servlets - 将变量从一个 servlet 传递到另一个 servlet

转载 作者:行者123 更新时间:2023-12-03 23:15:56 27 4
gpt4 key购买 nike

如何将变量数组从一个 servlet 传递到另一个 servlet?

最佳答案

如果您要将当前请求传递给另一个servlet,则只需将其设置为请求属性即可。

request.setAttribute("array", array);
request.getRequestDispatcher("/servleturl").include(request, response);

它将在另一个 servlet 中可用,如下所示:

Object[] array = (Object[]) request.getAttribute("array");

或者,如果您要向另一个 servlet 发出全新请求,则只需将其设置为请求参数即可。

StringBuilder queryString = new StringBuilder();
for (Object item : array) {
queryString.append("array=").append(URLEncoder.encode(item, "UTF-8")).append("&");
}
response.sendRedirect("/servleturl?" + queryString);

它将在另一个 servlet 中可用,如下所示:

String[] array = request.getParameterValues("array");

或者,如果数据太大而无法作为请求参数传递(安全最大长度为 255 个 ASCII 字符),则只需将其存储在 session 中并传递一些唯一 key 作为参数即可。

String arrayID = UUID.randomUUID().toString();
request.getSession().setAttribute(arrayID, array);
response.sendRedirect("/servleturl?arrayID=" + arrayID);

它将在另一个 servlet 中可用,如下所示:

String arrayID = request.getParameter("arrayID");
Object[] array = (Object[]) request.getSession().getAttribute(arrayID);
request.getSession().removeAttribute(arrayID);

关于servlets - 将变量从一个 servlet 传递到另一个 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4221825/

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