2011-12-14 16 views
0

glassfish v3でjsfアプリケーションを実行しています。マシンのインターネット接続が貧弱なので、静的コンテンツ(CSSファイル、Webグラフィックス、フォントなど)を外部のホスティング(Apacheを使用)に移動することを考えました。私はjsf 2.0リソースを使用しているので、リンクは/javax.faces.resource/screen.css.html?ln=cssのように生成されます。問題は、どうすれば自動的にそのようなリソースを外部のマシンにリダイレクトできますか?理想的な方法は、アプリ全体のすべてのリンクを変更するのではなく、1か所(グラスフィッシュの設定ですか?)で変更することです。 THanksJSFが静的リソースを外部ホストにリダイレクト

答えて

0

標準<h:outputStylesheet><h:outputScript>のコンポーネントでは、リソースはWebアプリケーションコンテキスト(およびクラスパス)から直接ロードされるため、これは不可能です。プレーンなバニラ<link rel="stylesheet" /><script></script>タグを使用してください。

仕様の変更要求がありました:issue 598これはJSF 2.2を対象にしていますが、私はこれが低い投票を見て実装されるとは考えていません。

+0

しかし、スクリプトやスタイルの問題ではありません。低レベルのアプローチ、例えば '/ javax.faces.resource/*'のフィルタは、 'screen.css'以外のすべてを取り除き、' static-host.com/screen.css'に301リダイレクトを送ります。いいアイデアですか? – mm1

+0

ええと、これはCDNの目的を破っています。これらのリソースに対する依頼を引き続き受け取ります。 CDNの主なポイントの1つは、サーバーへのHTTP接続を最小限に抑えることです。 – BalusC

+0

ええ、あなたは正しいです。しかし、コンテンツは静的ホストからダウンロードされるため、ページはより高速に読み込まれます。 301レスポンスはサーバーのパフォーマンスに大きな影響を与えますか? – mm1

関連する問題