在第一个jsp页面上,我有一个表单,允许用户输入一些条件来查询数据库中的用户。按下搜索按钮时,数据将传递给查询数据库的servlet,并返回一个匹配用户列表,并显示相关信息。
servlet将数据传递到ArrayList并将其输出到jsp页面的表中。对于每一行,都有一个导航到用户个人资料页面的按钮。
我的实现是,当单击按钮时,它会将用户名传递给servlet,以便在数据库中查询单个用户的数据。我是通过链接源
完成的href =“Servlet?username =<%= user.username%>。
但是这会在网址中显示用户名。我也尝试使用带有隐藏参数的表单,但这似乎不正确,因为它显示在开发人员控制台的jsp代码中。
有没有办法以这种方式传递用户名而不向用户显示?或者我误解了这个概念?
答案 0 :(得分:0)
在POST请求中使用隐藏<input>
参数的方法是正确的。这里没有任何问题,因为你正在回应用户的选择;所以,他们已经知道在选择它时会将用户名传递给 servlet 。
但是,您绝对不会将其作为GET请求中的查询参数传递,因为用户可以直接为配置文件添加书签,或者有人可以将该URL与脚本一起使用来收集有效的用户名等.POST请求更难以模拟方式。