【问题标题】:JSP to Servlet parameter passingJSP 到 Servlet 参数传递
【发布时间】:2014-11-23 02:56:22
【问题描述】:

我有一个场景,其中有一个 jsp,它有几个超链接。其中一个链接是这样编码的。

<a href="Example?op=srk>hyperlink 1</a>
<!--The value srk is replaced dynamically in code-->

上面的链接会将请求发送到名为Example 的servlet,并通过url 传递请求参数。因为它是一个超链接,所以请求被发送到Example Servlet 的doGet() 方法。我正在使用请求参数,处理某些内容并将请求进一步转发到另一个 jsp,为该请求附加一个属性(其中包含一些对象)。功能有效,我得到了我需要的东西。但是,我觉得副作用或问题是浏览器中的 URL 具有可见的请求参数,如下所示。

http://localhost:8080/context/Example?op=srk

我不希望看到正在发送的参数。首先,我的做法合理吗?我的意思是,有没有更好的替代方法来实现这一点。我现在使用的是核心 J2EE(JSP 和 Servlets),没有框架,也没有 JavaScript。

【问题讨论】:

    标签: jsp servlets


    【解决方案1】:

    我详细说明了@Sezin 的答案,最好的方法是使用POST 方法以避免您的参数在网址中可见。

    正如您所说,您正在填充 op=srk 变量中的动态值。您可以使用 html 表单将变量 op 存储在表单中作为隐藏变量。

    您可以使用表单中的submit 按钮,以便您可以在servlet 的doPost() 中处理请求。

    希望对你有帮助!!

    【讨论】:

      【解决方案2】:

      当您单击此链接时,您正在向您的 servlet 发出 HTTP GET 请求,这就是您看到正在传递的参数的原因。您可以考虑使用表单或替代方法,以便执行 HTTP POST 请求。实施后,这将不会出现在地址栏上。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-14
        • 1970-01-01
        • 2019-10-18
        • 1970-01-01
        相关资源
        最近更新 更多