0

フォームベースの認証 (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:&nbsp;</td>
                    <td><input type="text" name="j_username" value="" /></td>
                </tr>
                <tr>
                    <td>Password:&nbsp;</td>
                    <td><input type="password" name="j_password" value="" /></td>
                </tr>
            </tbody>
        </table>
        <input type="submit" value="Login" />
    </form>

この変更を行ってから、単純に両方のページに同じフォームの別々のバージョンを含めるように戻そうとしましたが、それでもうまくいきません。

これは、Glassfish がいずれかのページの最初の読み込みでスローする例外の例です。

Glassfish エラー

トラブルシューティングのためにソース コードをさらにアップロードする必要がある場合は、コメントでそのように言ってください。投稿します (必要でない限り、この質問にソース コードが殺到することは望んでいませんでした)。

御時間ありがとうございます!

編集:私が気づいた1つの簡単なこと。Glassfish をしばらくロードした後でも、最初にページにアクセスすると、まだこの例外が発生します。

4

1 に答える 1

0

私は何が起こっているのかを理解することができました。どうやら、glassfish/domains//generated/jsp にある JSP デプロイメント フォルダーは root によって所有されていたようで、これにより最初の実行時に内部の項目に何らかの理由でアクセスできなくなりました。更新後にページにアクセスできるようになる理由はまだわかりませんが、グラスフィッシュのインストール全体をchownすることで問題が解決しました.

この問題は、サーバー ログで見つかった例外に関連していました。

"The scratchDir you specified: /home/bitwise/glassfish3/glassfish/domains/
bitwise/generated/jsp/securedsimplewebapp is unusable."

したがって、誰かが同様の例外を抱えている場合は、自分が Glassfish インストールの所有者であることを確認してください。

于 2013-05-23T15:53:53.527 に答える