2012-02-27 40 views
0

假設我要創建一個帶有兩個框的網頁,分別用於輸入用戶標識和用戶密碼。然後,一旦我點擊提交按鈕,它將在後臺檢查該用戶是否存在。如果它與數據庫中的任何人相匹配,則用戶標識和用戶密碼將被轉發到其他頁面,同時它將重定向到該用戶的主頁面。將數據從一個網頁傳遞到其他網頁,如何做到這一點?

我可以使用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按鈕)的鏈接,通過一些數據,並重定向到其他的servlet頁面?任何想法?非常感謝您的回覆。

回答

0

是的,你可以使用這個servlet。調度員是否足夠取決於具體的功能要求,這些要求在您的問題中不完全清楚。但是,規範方法是將登錄用戶存儲在會話作用域中,而不是存儲在請求作用域中。否則,用戶每次想要訪問受限制的頁面時都必須登錄。

另外,您通常希望在登錄成功後發送重定向。這樣新的URL就會反映在瀏覽器的地址欄中。此後按F5這種方式不會導致任何可能的意外。從一個Servlet轉發到另一個servlet本身也有點設計風味。包括本來是合理的,但轉發不。如上所述,請發送重定向。

至於使用鏈接提交表單,只需在點擊事件中執行JS form.submit()即可。

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

另一種方法是將按鈕的樣式設置爲帶有CSS幫助的鏈接。這樣它也可以用於禁用JS的客戶端(例如手持設備用戶)。

相關問題