Java での MVC Web アプリケーションについて非常に基本的な質問があります。
生の JSP の昔から Seam のような現在の技術に至るまで、非常に基本的なパターンは常に、最初に要求を受け入れたコントローラーから、クライアントに送信される出力を作成するビュー層への内部ディスパッチでした。
通常、この内部ディスパッチは、URL を使用してサーブレット コンテナーに新しいリソースを要求することによって行われます (構成の追加レイヤーによってメカニズムが隠されている場合があります)。これらの URL のマッピングは、外部への「実際の」URL も定義する同じ web.xml によって行われます。
特別な対策を講じない限り、ビュー レイヤーに直接アクセスできることがよくあります。"register.seam" をバイパスして直接 "registered.xhtml" に移動できる Seam "registration" デモをご覧ください。これは潜在的なセキュリティ上の問題です。少なくとも、ビュー テンプレートのソース コードが漏洩します。
これが基本的なサンプル アプリケーションにすぎないことは承知していますが、これらの内部リソースを外部から見えないようにするために特別な措置を講じる必要があることも奇妙です。
URL エントリ ポイントを制限する最も簡単な方法は何ですか?
内部要求によってのみアクセスできる魔法の URL パスコンポーネントである「WEB-INF」ディレクトリのようなものはありますか?