0

JSPでログインページを作っています。index.jspフォームといくつかの JavaScript スクリプトレットが存在するページがあります。Oracle データベースへの接続と、データベース内のユーザー名とパスワードの確認は、check1.jspファイルで行われます。

私の問題は、ユーザー名とパスワードを入力した後、ログインボタンを押すと、フォームを にリンクしましたcheck1.jsp。ユーザー名とパスワードが一致して存在する場合、にリダイレクトされwelcome.jspますが、ユーザー名が存在しないか、パスワードが一致しない場合は、index.jsp ユーザー名が存在しない、またはパスワードが一致しないという小さなメッセージがボックスの下に表示されます。現在、にリダイレクトしていindex.jspます。

同じページのログインボックスの下に適切な小さなメッセージを表示するにはどうすればよいですindex.jspか??

4

2 に答える 2

3

sessionここでオブジェクトを使用できます:

check1.jsp

if (loginSuccess) {
    //redirect to welcome.jsp
}
else {
    session.setAttribute("error", "Username or Password is incorrect");
    //redirect to index.jsp
}

index.jsp

String msg = session.getAttribute("error");
if (msg != null) {
    %><p style="color:red"><%= msg %></p><%
}

また、EL と JSTL を使用したより単純な方法が他にもありますが、これは単なる開始のヒントです。

于 2012-07-12T11:53:35.797 に答える
1

この場合、index.jsp にリダイレクトするのではなく、index.jsp に転送する必要があります。メッセージを何らかのリクエスト属性に格納し、index.jsp に転送して、メッセージがリクエスト属性に存在する場合はメッセージを表示します。

URL が Java で実装されたアクション (コントローラー) を常に指すようにするために、MVC フレームワークを使用する必要があります。これらのアクションでビジネス ロジック (ここでは、ユーザーをログイン) を呼び出し、それらのアクションを適切なビューに転送またはリダイレクトします。 (index.jsp またはwelcome.jsp)。

于 2012-07-12T11:40:16.383 に答える