背景情報: jsf ページにファイル アップロード アプレットがあります。このアプレットは、POST 要求を送信できるアドレスを想定しています。(この投稿リクエストを編集してフィールドなどを追加することはできません)。次に、サーブレットの post メソッドがファイルを保存します。サーブレットに @MultiPartConfig のアノテーションを付ける必要があり、このアノテーションを jsf マネージド Bean に追加できないため、このジョブはマネージド Bean では実行できません。アップロード アプレットが同じセッションを使用するように強制するために、この投稿に従って、jsessionId という名前の URL 属性を投稿リクエストに追加しました。私のサーブレットでは、セッション スコープの Bean にアクセスできるようになりました。
サーブレットで使用したいフォーム入力データを保存するViewScoped Beanがあります。これらの入力をポストリクエストに追加しても機能しないためです(アプレットはサードパーティプロジェクト(JUploadApplet)であり、何らかの理由で機能しません追加のフォームデータを追加することはできません)。サーブレット内から ViewScoped Bean にアクセスできるようになりましたか? スコープを SessionScope に変更すると、入力を処理できますが、ViewScoped を使用すると、次のように Bean にアクセスしようとすると NullPointerException が発生します。