我是JSP web開發的初學者。我有一個登錄(Login.jsp)頁面爲我的webapp有標準的登錄控制(例如,用戶名,密碼文本框,記住我複選框和登錄按鈕)我想達到的是當用戶提供憑證,詳細信息,將調用Authenticate.jsp,其中憑據與數據庫匹配,如果它們正確,則會創建該用戶的會話並且憑據不正確。我將用戶重定向回用response.sendRedirect("./Login.jsp?status=fail");
在JSP中實現登錄頁面的優雅方式
在的Login.jsp到登錄頁面,所述status
參數始終檢查,並且當它給出值fail
我有<div>
具有消息User Name or Password Incorrect!
文本框的下方,是在這樣的故障顯示給用戶。通過URL發送這些參數是否安全(爲了給定的目的)?什麼是更合適或標準的方式來實現這樣的事情?另外,當用戶第一次訪問登錄頁面時,尋找status
參數將拋出NullPointerException
。我有完整的Login.jsp代碼來檢查參數如下。
try
{
String stat = request.getParameter("Status");
if(stat.equalsIgnoreCase("fail"))
msg = "Invalid Username or Password!";
else
msg = " ";
}
catch(NullPointerException e)
{
msg = " ";
}
catch(Exception e)
{
out.println(e);
}
這msg
字符串對象正如我前面提到的寫於<div>
。因此,如果找不到status
參數,則認爲用戶第一次訪問該頁面,因此不會顯示錯誤憑據的消息。
我感覺這可能不是如何在實際系統中實現的方式。
糾正我。
謝謝。
注意:在網絡上搜索同一個查詢時,他們中的大多數在登錄失敗時都有不同的JSP頁面,而我只想保留單個頁面。
我經歷了Apache Shiro的概述,我一定會試試看。但是我正在尋找一種可以在沒有任何第三方框架的情況下使用的解決方案,只需要使用Java EE API就可以完成其他任務。 – Kushal 2012-03-09 14:51:17
如果你沒有使用框架,你最終會爲真實世界的應用程序做很多工作 – 2012-03-09 14:53:33