将数据从一个网页传递到另一个网页,该怎么做?

时间:2012-02-27 05:20:19

标签: html servlets

假设我要创建一个带有两个框的网页,分别用于输入用户ID和用户密码。然后,一旦我单击提交按钮,它将在后台检查数据库是否存在该用户。如果它与数据库中的任何人匹配,则用户ID和用户密码将被转发到另一个页面,同时它将重定向到该用户的主页面。

我可以使用servlet完成此任务吗?

我发现有request.Dispatcher API,但它是否足以完成任务?

String name = "Tom" 
request.setAttribute("name",name); 

RequestDispatcher dis = request.getRequestDispatcher 
("Servlet2"); 

request.Forward(request,response); 
第二个servlet文件中的

request.getAttribute("name"); 
//this line will display "Tom" 

还有一个问题要问,如何点击链接(INSTEAD OF BUTTON)传递一些数据并重定向到其他servlet页面?任何的想法?非常感谢你的回复。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用servlet。调度员是否足够取决于具体的功能要求,这些要求在您的问题中并不完全清楚。但是,规范方法是将登录用户存储在会话范围中而不是请求范围中。否则,用户每次想要访问受限页面时都必须登录。

此外,您通常希望在登录成功后发送重定向。这样新的URL就会反映在浏览器的地址栏中。此外,这样按F5也不会引起任何可能的意外。从一个转发到另一个servlet本身也有点设计气味。包括本来是合理的,但不转发。如上所述,改为发送重定向。

至于使用链接提交表单,只需在点击事件中执行JS form.submit()

<form id="login">
    ...
    <a href="#" onclick="document.getElementById('login').submit(); return false;">login</a>
</form>

另一种方法是将按钮设置为一个带有CSS帮助的链接。这样,它也适用于已禁用JS的客户端(例如,手持设备用户)。