2012-10-17 23 views
0

我有一個關於我的簡單應用程序的問題我有兩個單獨的.JSP文件讓說register和login.jsp都提交動作,並且這兩個jsp共享相同的servlet讓說usercontrol.servlet如何如果登錄按鈕與共享servlet共享,則可以使用與register.jsp相同的方法調用該操作嗎?Servlet如何調用多個提交按鈕

這裏是我的servlet代碼:

if(request.getParameter("register").equals("Register")){ 
      if(request.getParameter("first") == "" || request.getParameter("middle") == "" || request.getParameter("last") == "" || 
        request.getParameter("loginid") == "" || request.getParameter("pass") == "" || request.getParameter("pass2")== ""){ 
       JOptionPane.showMessageDialog(null, "Cannot leave null value from one of the textfields"); 
       response.sendRedirect("AdminPage/Register.jsp"); 

      } 
      //else if(request.getParameter("pass") != request.getParameter("pass2")){ 
       //JOptionPane.showMessageDialog(null, "Password Mismatch, Check you password and retype it correctly"); 
       //response.sendRedirect("AdminPage/Register.jsp"); 
      //} 
      else{ 
       RegisterUser(request, response); 
      } 
    } 

    else if(request.getParameter("login").equals("Login")){ 
     if(request.getParameter("username") == ""){ 
      JOptionPane.showMessageDialog(null, "Username is required"); 
      response.sendRedirect("AdminPage/Login.jsp"); 
     } 
     else if(request.getParameter("password") == ""){ 
      JOptionPane.showMessageDialog(null, "Password is required"); 
      response.sendRedirect("AdminPage/Login.jsp"); 
     } 
     else if(request.getParameter("username") == "" || request.getParameter("password") == ""){ 
      JOptionPane.showMessageDialog(null, "Password/Username is required"); 
      response.sendRedirect("AdminPage/Login.jsp"); 
     } 
     else{ 
      LoginUser(response, request); 
     } 
    } 

我整合我與Hibernate應用程序。

這是我的jsp提交按鈕我沒有包含整個表單,我只是包含提交按鈕。

的Login.jsp

<input type="submit" name="login" value="Login" /> 

Register.jsp

<input type="submit" name="register" value="Register"/> 

我的問題是,每次我運行它總是在if..else語句的所有操作的應用程序是否有任何其他方式解決這個問題?

+1

**我的WORD !!!! **包括** Web應用程序中的'JOptionPane'完全不鼓勵**。這就是爲什麼我建議不遵循[RoseIndia.net](http://www.roseindia.net)上的所有示例。 –

+0

你是如何在請求中註冊和登錄的值?似乎兩者都可以在請求中使用。你可以發佈你的jsp嗎? – Metalhead

+0

實際上,這只是一個測試代碼,當然我不會在我的應用程序上實現JOptionpane,我只是想知道if ... else語句是否正在調用正確的方法。對於JOptionpane而言。 – apol3pain

回答

0

在你的JSP,你應該有提交按鈕

爲login.jsp的

<input type="submit" name="login" value="Login"/> 

爲register.jsp

<input type="submit" name="register" value="Register"/> 

現在的servlet可以檢查像

if(request.getParameter("login") != null) { 
    // request is comming from login jsp 
    // do validation, perform actual transaction 
} else if(request.getParameter("register") != null) { 
    // request is comming from register jsp 
    // do validation, perform actual transaction 
} 
+0

非常感謝現在的工作有時我不會不熟悉java有時候很容易理解,我的意思是null和「」在java中的不同之處在於請求的數據類型是什麼.getParameter,它的對象還是字符串? – apol3pain

+0

它是字符串類型 –

+0

你知道koushik嗎?我是他的兒子:)只是在開玩笑 – apol3pain