【问题标题】:How to send data from jsp to servlet, while keeping the parameter that is being sent hidden?如何将数据从 jsp 发送到 servlet,同时隐藏正在发送的参数?
【发布时间】:2015-05-22 01:59:36
【问题描述】:

在第一个 jsp 页面上,我有一个表单,允许用户输入一些条件来查询数据库中的用户。当按下搜索按钮时,数据被传递给一个 servlet,该 servlet 查询数据库并返回一个匹配用户列表以及相关信息以显示。

servlet 将数据传递到 ArrayList 中,并将其输出到 jsp 页面中的表中。对于每一行,都有一个导航到用户个人资料页面的按钮。

我的实现是,当单击按钮时,它将用户名传递给 servlet 以查询数据库以获取单个用户的数据。我通过链接源做到了这一点

href="Servlet?username=.

但这会在 url 中显示用户名。我也尝试使用带有隐藏参数的表单,但这似乎不正确,因为它显示在开发人员控制台的 jsp 代码中。

有没有办法以不向用户显示的方式传递用户名?还是我误解了这个概念?

【问题讨论】:

  • 使用POST 而不是GET 这是通过使用html表单和提交按钮来实现的。

标签: java mysql jsp servlets


【解决方案1】:

在 POST 请求中使用隐藏的<input> 参数的方法是正确的。这里没有任何问题,因为您正在响应用户的选择;因此,他们在选择时已经知道将哪个用户名传递给 servlet

但是,您绝对不会在 GET 请求中将其作为查询参数传递,因为这样用户可以直接为个人资料添加书签,或者有​​人可以使用该 URL 和脚本来收集有效的用户名等。POST 请求更难模拟方式。

【讨论】:

    猜你喜欢
    • 2013-08-13
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 2013-05-27
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    相关资源
    最近更新 更多