2015-03-19 37 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請求很難模擬那樣。