2013-04-16 59 views
1

在RegServlet類中,我有一個doGet()方法覆蓋doStuff()方法。 doStuff()方法從HTML註冊表中獲取用戶輸入,然後連接到DB,然後將用戶輸入存儲到數據庫中。如何在Java/JSP中隔離驗證和用戶註冊

這裏是doStuff()方法在我RegServlet類:

​​

如果註冊按鈕被點擊一切都已經正確輸入後,它會導致我到login.jsp頁面。我正在嘗試編碼登錄機制,以便用戶(擁有存儲在數據庫中的用戶名&密碼)登錄並搜索和添加/刪除課程。

我很難過,因爲我不知道該如何去做。

如何隔離用戶註冊和身份驗證?我應該爲會話管理創建另一個類還是僅使用此RegServlet類中的另一個方法?

回答

1

實現自己HTTPServletFilter是檢查是否有用戶進行身份驗證:

public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) throws IOException, ServletException { 
    if ("a user is authenticated") { 
     filterChain.doFilter(req, res); 
    } else { 
     // authenticate a user 
    } 
} 

鏈接顯示HTTPServletFilter的基本: http://www.oracle.com/technetwork/java/filters-137243.html#70176

+0

謝謝,邁克爾。那麼應該在與doStuff()方法相同的類中實現嗎?還是另一個班? – dinky

+0

請查看我已添加到答案的鏈接。 HTTPServletFilter是與HTTPServlet不同的組件。 'doStuff()'在HTTPServlet中,但'doFilter'在HTTPServletFilter中 – Michael