0

次のコードを使用した非常に単純なログインサーブレットがあります。

            userName = request.getParameter("username");
    password = request.getParameter("password");

    if ("xxx".equals(userName) && "xxx".equals(password)) {
        RequestDispatcher requestDisSecure = request
                .getRequestDispatcher("VendorList_Secure.jsp");
        requestDisSecure.forward(request, response);
    }
    if ("xxx".equals(userName) && "xxx".equals(password)) {
        RequestDispatcher requestDisSecure = request
                .getRequestDispatcher("VendorList_Secure.jsp");
        requestDisSecure.forward(request, response);
    }
    if ("xxx".equals(userName) && "xxx".equals(password)) {
        RequestDispatcher requestDisSecure = request
                .getRequestDispatcher("VendorList_Secure.jsp");
        requestDisSecure.forward(request, response);
    }
    if ("xxx".equals(userName) && "xxx".equals(password)) {
        RequestDispatcher requestDisSecure = request
                .getRequestDispatcher("VendorList_Secure.jsp");
        requestDisSecure.forward(request, response);
    } else {
        /**
         * Unauthenticated user
         */
        RequestDispatcher requestDisUnSecure = request
                .getRequestDispatcher("VendorLoginError.jsp");
        requestDisUnSecure.forward(request, response);
    }

ユーザー名とパスワードのパラメーターを持つVendorLogin.jspからこのサーブレットロジックにアクセスします。ログインが正しい場合は、VendorList_Secure.jspに正常に転送されますが、そうでない場合は、VendorLoginError.jspに転送されますが、新しいユーザー名とパスワードを入力した後です。上記のサーブレットを押すと、サーブレットで新しく更新された値ではなく、ユーザー名とパスワードの両方のパラメーターがnullとして取得されました。

代わりにリダイレクトを試しましたが、同じ効果が得られました

web.xmlのリソースを保護することでログインを実装する方法をもっとうまくできることは知っていますが、この単純な例が機能しない理由を知りたいです。

だから私はここで何を間違っているのですか?

どうもありがとう

4

2 に答える 2

1

フォーム要素は、getParameterで指定された名前と一致する必要があります。

userName = request.getParameter("username");
password = request.getParameter("password");

それは以下のようなものです

<input type="text" name="username"  />
<input type="password" name="password"  />
于 2012-05-01T17:30:27.303 に答える
0

ログインjspには、名前としてユーザー名とパスワードを含む要素が含まれている必要があります。

<input type="text" name="username" id="txtUserName" />
于 2012-05-01T17:22:26.580 に答える