2015-03-19 56 views
0

在第一个jsp页面上,我有一个表单,允许用户输入一些标准来查询数据库中的用户。当按下搜索按钮时,数据将被传递给查询数据库的servlet,并返回一个包含相关信息的匹配用户列表以显示。如何将数据从jsp发送到servlet,同时保持发送的参数隐藏?

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

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

HREF =“Servlet的?用户名= <%= user.username%>。

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

有没有办法通过用户名以这种方式不显示给用户?我误解了这个概念?

+3

使用'POST'而不是'GET'这是通过使用html表单和提交按钮来实现的。 – 2015-03-19 02:51:06

回答

0

在POST请求中使用隐藏的<input>参数的方法是正确的。这里没有什么错,因为你在回应用户的选择;所以他们已经知道当他们选择了什么用户名时,他们将传递给servlet

但是,您肯定不会将它作为查询参数传递给GET请求,因为那样用户可以直接为配置文件添加书签,或者某人可以使用该URL与脚本一起收集有效的用户名等。POST请求很难模拟那样。