在第一个 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/