0

私の単純なアプリケーションに関して問題があります.2つの別々の.JSPファイルがあります.registerとlogin.jspの両方に送信アクションがあり、両方のjspが同じサーブレットを共有しています.usercontrol.servletと言うと、ログインボタンが表示されたらアクションを呼び出す方法それらが共通のサーブレットを共有している場合、register.jsp でも同じをクリックしましたか?

ここに私のサーブレットコードがあります:

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);
        }   
    }

アプリケーションを休止状態に統合しています。

これは私の JSP 送信ボタンです。フォーム全体は含めませんでした。送信ボタンだけを含めました。

ログイン.jsp

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

Register.jsp

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

私の質問は、アプリケーションを実行するたびに、常に if..else ステートメントのすべてのアクションを実行することです。これを修正する他の方法はありますか?

4

1 に答える 1

0

jspには、送信ボタンが必要です。

login.jspの場合

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

register.jspの場合

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

これでサーブレットで次のように確認できます

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 
}
于 2012-10-17T08:42:12.633 に答える