事情我明白你想重定向你的用戶取決於角色。假設用戶是管理員,那麼他/她應該被重定向到admin.jsp(例如),如果用戶在管理員角色和他/她應該重定向到manager.jsp。
讓我們假設你在你的JDBCRealm管理員和管理員定義的兩個角色
您可以通過在項目,例如創建一個servlet LoginServlet.java
你必須設置
所以事情做到這一點是:
如您所述,創建您的login.jsp和login-failed.html。
創建兩個JSP頁面的動態Web項目的WebContent admin.jsp和manager.jsp任何文件夾下 說:
的WebContent/htmlPages/admin.jsp放在身體標記 <h4>Welcome Admin</h4>
文本。
WebContent/htmlPages/manager.jsp put <h4>Welcome Admin</h4>
正文標籤中的文字。
在LoginServlet.jsp在doGet方法 把這個簡單的代碼:
if(request.isUserInRole("admin")) { response.sendRedirect("htmlPages/admin.jsp");
} if(request.isUserInRole("manager")){ response.sendRedirect("htmlPages/manager.jsp");
}
之後,你必須設置歡迎-文件作爲登錄servletin web.xml中 例如 假設在網絡中。XML你的servlet條目
<的servlet > <描述> < /描述> <顯示名稱> LoginServlet < /顯示名稱> < servlet的名字> LoginServlet </servlet的名字> < servlet- class > LoginServlet的完整分類名稱</servlet-class >
</servlet的> < Servlet映射> < servlet的名稱> LoginServlet </servlet的名稱> < URL模式>/loginServlet </URL模式> </Servlet映射>
然後從Servlet映射中獲取url模式,並將其放入歡迎文件列表中,不加斜槓: lik Ë
<歡迎文件列表> <歡迎文件> loginServlet < /歡迎文件> < /歡迎文件列表>
確保沒有斜槓已被列入。歡迎文件屬性應該沒有斜槓,因爲我在代碼loginServlet中。
運行此代碼:-)您將被重定向到適當的jsp頁面。