gpt4 book ai didi

Java 服务器页面参数混淆

转载 作者:行者123 更新时间:2023-12-02 07:22:32 25 4
gpt4 key购买 nike

执行jsp:includejsp:forward时,包含或转发的页面页面将看到原始请求对象,以及原始参数增加了新参数和新值,优先于适用时的现有值。

例如,如果请求有参数Lname=abc 和参数 Lname=xyz 是指定为forward,转发的请求将有Lname=xyz, abc

新参数优先

请举例说明。

最佳答案

让我们了解 jsp:include 和 jsp:forward 之间的主要区别。

jsp:include,包含当前页面内的页面。因此,包含的页面将准确显示在当前页面中添加 jsp 命令的位置。

例如

...
<jsp:include page="inc/include.jsp" />
...

但是 jsp:forward 会将当前页面转发到转发页面。这意味着当当前页面被调用时,转发的页面将立即被调用。

例如

if (...) { forwarded to pageOne.jsp }
else if (...) { forwarded to pageTwo.jsp }

现在以下是我们访问 jsp:forward 和 jsp:include 参数的方法。

jsp:include :我们可以使用 param 访问参数,而不是通过请求对象。例如

${param.param1}

在 jsp:forward 中:我们可以使用请求对象访问参数。例如

request.getParameter("param1")

这是 jsp:inlcude 和 jsp:forward 中参数的主要区别。因此,我们在 jsp:forward 中获得了新的值(value)(比如 Lname=xyz)。

示例:

假设我们在请求对象中有一个参数 Lname=xyz 。在当前的jsp中可以使用以下代码访问它

<%= (String)request.getParameter("Lname"); %> <%-- This will print xyz on jsp --%>

现在,同样的参数名称可以与 jsp:forward 一起使用,例如...

<jsp:forward page="fwd/pageOne.jsp?Lname=abc" />

<jsp:forward page="fwd/pageOne.jsp">
<param name="Lname" value="abc"/>
</jsp:forward>

这将使用 request.getParameter() 方法在 fwd/pageOne.jsp 中产生 Lname=abc。

谢谢

关于Java 服务器页面参数混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14017686/

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