多用戶登錄頁面我有由具有3個字段的登錄頁即index.jsp的:創建使用Servlet和JSP
1.>用戶類型選擇標記(它包括管理員,EMP,PROJ統籌, PROJ。經理) 2>用戶名文本框 3>密碼文本框
登錄按鈕
現在的問題是,我有不同的用戶(管理員,EMP,凸出,統籌,凸出不同的表。經理)用他們的用戶名和密碼。
因此,是否有任何步驟明智的過程來驗證使用servlet和jsp的多用戶登錄。
我m能夠成功地爲單個用戶運行(僅用於用戶名和密碼),但無法爲多用戶。
多用戶登錄頁面我有由具有3個字段的登錄頁即index.jsp的:創建使用Servlet和JSP
1.>用戶類型選擇標記(它包括管理員,EMP,PROJ統籌, PROJ。經理) 2>用戶名文本框 3>密碼文本框
登錄按鈕
現在的問題是,我有不同的用戶(管理員,EMP,凸出,統籌,凸出不同的表。經理)用他們的用戶名和密碼。
因此,是否有任何步驟明智的過程來驗證使用servlet和jsp的多用戶登錄。
我m能夠成功地爲單個用戶運行(僅用於用戶名和密碼),但無法爲多用戶。
假設在控制器,你在變type
得到用戶類型,那麼你可以手動創建查詢,並從數據庫中這樣獲取結果:
String query = "Select * from "+type+" where <Your condition>";
但是這是非常糟糕的主意來做到這一點。相反,你應該看看db中的繼承。我想this將幫助你重組你的數據庫。
爲什麼這是個壞主意?
讓我們假設你有3種類型的用戶當前在你的系統中說:管理員,員工和用戶。
現在過了一段時間,如果您需要在系統中添加另一種類型的用戶說HR,那麼您必須執行哪些步驟:
1)爲具有相同重複列的HR創建另一個表。
2)改變你的HR用戶的Java文件的邏輯。
3)如果您對查詢進行了硬編碼,則掃描整個項目以獲得相同效果。在DB繼承
和好處:
只需插入數據庫中記錄與type = "HR"
和你做。不是很簡單嗎?
,僅供參考:
Advantages:
Disadvantages:
When to use:
你可能想解釋爲什麼這是一個非常糟糕的主意並不成功,只是爲了讓OP得到消息。 –
@BoristheSpider絕對是。我會嘗試 –
在你的情況最有可能有兩個approahes
1)您可以手動創建查詢以上
2)您可以創建一個包含用戶類型的表說,(它包括管理,EMP,項目協調員,項目經理)及其相關表格。因此,在控制,當你獲得所需的信息
但是,這將是一個開銷,併爲新的用戶類型,你必須重新創建用戶。因此,如果您有一個存儲所有用戶名和密碼的表,並且對於用戶類型可以添加新列,那麼添加它會更好。
這是你的數據庫設計的問題。使它完美。 – Kris
您的設計存在缺陷。但爲了給你提示,你可以根據用戶的用戶類型選擇'if-else',你可以查找不同的表。 –
@PradeepSimha說db設計有一個缺陷,然後建議OP引入_another_缺陷並不一定是有建設性的。至少它應該是一個'enum',它擁有正確的'PreparedStatement'。 –