フォームベースの認証 (JSF を使用) を使用して、簡単なログイン テスト セットアップを作成しました。ログイン失敗時にリダイレクトする login.jsf ページと error.jsf ページの両方があります。現在、私がフォローしているチュートリアル (本はJava EE 6 Development with Netbeans 7 です) では、最初に同じログイン項目を含む両方のページを作成し、その後、JSF セグメントを使用してやり直しの問題をクリーンアップしました。その中のログインフォーム。
JSF セグメントがなかったとき、ログイン設定は完全に機能しました。JSF セグメントを追加し、それを使用するように両方のページを変更してから、使用しているページに関連する FileNotFoundException を含む 500 内部サーバー エラーが発生しましたが、これは最初の 1 回だけです。このエラーを受け取った後にページを更新すると、機能します。
これが問題のセグメントです。
<!-- loginform.jspf -->
<%@ page pageEncoding="UTF-8" %>
<p>Please enter your username and password:</p>
<form method="POST" action="j_security_check">
<table border="1">
<tbody>
<tr>
<td>Username: </td>
<td><input type="text" name="j_username" value="" /></td>
</tr>
<tr>
<td>Password: </td>
<td><input type="password" name="j_password" value="" /></td>
</tr>
</tbody>
</table>
<input type="submit" value="Login" />
</form>
この変更を行ってから、単純に両方のページに同じフォームの別々のバージョンを含めるように戻そうとしましたが、それでもうまくいきません。
これは、Glassfish がいずれかのページの最初の読み込みでスローする例外の例です。
トラブルシューティングのためにソース コードをさらにアップロードする必要がある場合は、コメントでそのように言ってください。投稿します (必要でない限り、この質問にソース コードが殺到することは望んでいませんでした)。
御時間ありがとうございます!
編集:私が気づいた1つの簡単なこと。Glassfish をしばらくロードした後でも、最初にページにアクセスすると、まだこの例外が発生します。