2014-01-17 73 views
3

我有一個應用程序,我必須從一個登錄頁面重定向到另一個頁面我輸入登錄頁面的用戶名和密碼從servlet轉到另一個servlet.so,如果我發現登錄值相匹配,我會重定向到另一個頁面,但這種事情沒有工作....我張貼我的代碼響應.sendRedirect不工作

boolean validationFlag = qb.userValidation(loginVO); 
     if (validationFlag) { 

      //This is for Ajax return 

      System.out.println("we are here"); 
      response.sendRedirect("../main.jsp"); 
      System.out.println("we are back"); 
     } 
    } catch (Exception e) { 

     e.printStackTrace(); 
    } 
} 

這裏validationFlag是真實的,我必須重定向到花葯頁,但它無法正常工作

+0

你遇到了什麼問題?任何堆棧跟蹤? –

回答

0

首先明確何時使用sendRedirect以及何時使用RequestDispatcher的概念。 (使用的是2步過程進行簡單的驗證)

http://www.beingjavaguys.com/2013/05/difference-between-request-dispatcher.html http://www.coderanch.com/t/540671/Servlets/java/difference-RequestDispatcher-sendRedirect

除去那些println語句。 請記住,在寫入響應對象後,您無法執行sendRedirect()。

現在嘗試,

RequestDispatcher view = request.getRequestDispatcher("main.jsp"); 
view.forward(request, response); 

這裏有一個像你使用一個相對URL沒有問題。

希望這有助於....快樂編碼

2

你得不知所蹤。否則,執行一直持續到JSP/servlet結束。

response.sendRedirect("../main.jsp"); 
return; 

所以沒有返回,你的System.out.println(「我們回來了」);將被執行。

+0

布爾validationFlag = qb.userValidation(loginVO); if(validationFlag){ //這是爲了Ajax返回 // response.setContentType(「text/html; charset = UTF-8」); // response.getWriter()。write(「True」); System.out.println(「我們在這裏」); response.sendRedirect(「../main.jsp」); return; // System.out.println(「我們回來了」); } – Subho

+0

這是我在做什麼不工作 – Subho