java - 如何将数据从jsp发送到servlet,同时保持发送的参数隐藏?

标签 java mysql jsp servlets

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

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

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

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

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

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

最佳答案

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

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

关于java - 如何将数据从jsp发送到servlet,同时保持发送的参数隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29136386/

相关文章:

android - 尝试从 Android 应用程序访问 MySql 数据库

mysql group by 具有重复值和计数

java - 如何使用jsp或servlet或java将excel中的大量信息更新到oracle数据库

java - 如何使用正则表达式模式从树结构中提取单词

java - 尝试将数据写入 JAVA 中的多个工作表时 XLSX 文件损坏

mysql - 需要访问.digitalocean_password

jsp - 访问 jSTL 上的 Session 属性

java - 刷新时重置 scriplet 变量

java - 使用 JAXB 解析基于属性的 xml

java - JComponent 上的绘图故障