JSP to Servlet参数传递

时间:2014-09-28 17:35:28

标签: jsp servlets

我有一个场景,其中有一个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

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

2 个答案:

答案 0 :(得分:1)

我详细阐述了@ Sezin的答案,最好的方法是使用POST方法,以避免在网址中显示您的参数。

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

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

希望这会有所帮助!!

答案 1 :(得分:0)

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