0

そのため、JSPをいじってログインフォームを作成しようとしましたが、ユーザー名として「test」、パスワードとして「test」を入力すると、そのアカウントがデータベースに作成されるため、ログインすることになっています。「ログイン」の代わりに、「不正なユーザー名: テスト」というテキストが表示され、新しい行に、作成したメソッドから返されたデータベース値、つまり「テスト」が表示されます。

この質問で私を助けてください、それは本当に私を悩ませ始めています.

これは私のコードです:

String userID = request.getParameter("username").trim();
String pass = request.getParameter("password").trim();

String corrUserID = MySQL.getString("SELECT username FROM users WHERE username='" + userID + "'", "username").toString();
String corrPass = MySQL.getString("SELECT password FROM users WHERE username='" + pass + "'", "password").toString();

if(corrUserID != "String" && corrPass != "String" && userID != "Username" && pass != "Password"){
    if(userID == corrUserID){
        if(pass == corrPass){

            out.println("Logged in!");
            response.sendRedirect("index.jsp");

        }else{
            out.println("Incorrect password.");
        }
    }else{
        out.println("Incorrect username: " + userID + "<br/>" + corrUserID);
    }
}else{
    out.println("Please enter a valid username and password.");
}
4

1 に答える 1

0

equals()を使用して比較しStringます。

if(userID.equals(corrUserID))

==参照の等価性をテストします。

.equals()値が等しいかどうかをテストします。

于 2013-04-29T17:22:35.287 に答える