如何将数据从 jsp 发送到 servlet,同时隐藏正在发送的参数?

How to send data from jsp to servlet, while keeping the parameter that is being sent hidden?

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

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

我的实现是,当单击按钮时,它会将用户名传递给 servlet,以查询数据库中的单个用户数据。我通过 link 来源

做到了这一点

href="Servlet?username=<%= user.username%>.

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

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

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

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