問題タブ [static-resource]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Spring MVC アプリで静的リソースを提供する Tomcat
私はSpring MVCアプリケーションを構築しています.frontControllerサーブレットは「/」にマップされ、すべてのリクエストをインターセプトします.Tomcatから静的コンテンツ(.js、.css、.png ...)を提供できるようにします春ではありません。私のアプリの構造は
デフォルトでは、frontController はアプリのコンテキスト ルートにマップされているため、すべてのリクエストを処理しますが、静的リソースは提供しません。静的リソースの mvc 構成は次のとおりです。
ページのコードは次のとおりです。
Springの相互作用なしで静的リソースを提供するように Tomcat を構成する必要があります。
なにか提案を?
android - Android アプリの静的ストレージ
内部に音楽が埋め込まれたAndroidアプリケーションを作成しています(〜80 MB)。res/raw フォルダに入れる予定でした。
Androidはそれをすべて内部メモリに保存するので、この方法は大きすぎますか? 私のオプションは何ですか?私は次のことを思いつきました:
- アプリケーションの初回起動時に、リソースを内部ストレージから SD カードにコピーします。その後、内部ストレージから削除します (これは可能ですか?)
- アプリケーションの初回起動時に Web から音楽をダウンロードします。
アプリを完全にオフラインにしたいので、オプション 2 を使用する必要はありません。静的な音楽は (リリース間を除いて) 変更されません。
他のアイデアはありますか?
java - Struts 2で静的ファイル(JavaScript)を提供する
いくつかのJavaScriptファイルをパッケージの1つに入れて、Strutsに次のように提供させたい/struts/js/foo.js
Strutsは、「template」パッケージ内のファイルに対してこれを行います(jQueryプラグインのファイルが配置され、struts.ui.templateDir
オプションで保護されています)。ただし、これらのファイルを別のパッケージに入れたいと思います。再定義struts.ui.templateDir
すると、strutsはテンプレートが見つからないため、機能しなくなります。
したがって、問題は次のとおりです。Strutsにファイルをorg.foo.some.package.js
として提供するように指示する方法は/struts/js/whatever.js
?
php - 静的リソースにプレフィックスを付けるための変数の良い戦略は何でしょうか?
私たちはウェブサイトをスケーリングしており、サブドメイン (または、 CDNなどの別のドメインでさえも) でイメージをホストする可能性がある将来の計画を立てたいと考えています。現在、次の HTML を使用して HTML/PHP コードで画像を参照しています。
私は次の場所に移動するために会社のコンベンションを開始することを考えていました:
ここで、STAT_IMG はグローバル PHP 定数であり、最初は現在の状況と同一になるように定義されます。つまり、
ただし、後で次のように変更できます。
これを行うと何か問題が発生しますか?
私がすでに考えていること:
- コードベースにはさらに多くの文字列が追加されることがわかりますが、パフォーマンスの点では目立たないと思います。
- コードが醜くなります (特に、PHP と HTML が混在している私の例では)。
- 1 つの問題は、画像 (またはその逆バージョン) に明示的に https を使用する必要がある場合があることです。たとえば、画像を電子メールに入れると、多くのクライアント (gmail など) が https プロトコルを使用するため、http を参照するリソース (つまり、暗号化されていないプロトコル) は一部のブラウザー (IE など) で混合コンテンツの警告を生成します。encosia のこの記事に
STAT_IMG
は、 「プロトコルレス」として定義することで、これを回避するためのアイデアがありdefine('STAT_IMG', '//www.superfastcdn.com/');
ます。彼らのアイデアがうまくいくことを願っています。- プロトコルを明示的に定義するために、他のいくつかの定数が必要になる場合があります。たとえば
define('STAT_IMGS', 'https://www.example.com/images/');
、define('STAT_IMGNS', 'http://www.example.com/images/');
以前の非絶対バージョン (define('STAT_IMG', '/images/');
) に加えてです。
- プロトコルを明示的に定義するために、他のいくつかの定数が必要になる場合があります。たとえば
- JavaScript や CSS スタイルシートなどの他の静的リソースにも同じ戦略を適用する必要があります。
maven - MavenJetty7と静的リソース
Jettyと迅速なアプリケーション開発を活用するために、インフラストラクチャを変更したいと思います。
間もなく静的コンテンツを提供したいと思います。Jettyのドキュメントでそのような説明を見つけました。
上記の構成に相当するMavenは何ですか?
ありがとう
c# - ASP.NET MVC - 静的リソース要求を検出できる要求サイクルの最も早い時点は?
質問にコンテキストを与えるために、Application_BeginRequest で呼び出されるプロファイラーを作成しましたが、すべて (JavaScript、画像など) をログに記録しています。最後の手段としてプロファイラー クライアントにフィルタリングを追加することもできますが、リクエストにルーティングが必要であると判断できる場合にのみ、プロファイラーをアクティブにすることをお勧めします。理想的には Application_BeginRequest にありますが、ルーティングのための着信要求の冗長処理なしでは不可能だと思います...
つまり、リクエストが静的リソースに対するものかどうかを判断できるリクエスト ライフ サイクルの最も早い時点はいつで、どのように対処しますか?
System.Web.Routing.RouteTable から派生またはフックして、そこからプロファイラー コードを呼び出すことは可能でしょうか?
java - getStaticResourceURL() は Liferay で何をしますか?
getStaticResourceURL()
メソッドの役割は何ですか?
(タイムスタンプなしで)渡すrequest.getContextPath() + mypath
と、何が変わるのでしょうか? タイムスタンプを渡すと、さらに何が変わる可能性がありますか?
java - 静的リソースを配信するようにInternalResourceViewResolveramd/または@ControllerBeanを構成するにはどうすればよいですか?
SpringSTSのSpringMVCテンプレートから簡単なHelloWorldプロジェクトを作成しました。
どのJSPを呼び出すかを決定し、そのための情報を準備するHomeControllerBeanがあることがわかりました。ご覧のとおり、このクラスはHTTPリクエストをそのメソッドに関連付けます。
そのため、ページにロードする画像またはJavaScriptファイルをいくつか用意する必要があります。ただし、テンプレート構成のHomeControllerではこれは許可されていません。
サーバー上のいくつかのフォルダーへのブラウザーアクセスを提供する最も簡単な方法は何ですか?HomeControllerを完全に削除すると、DefaultServletが動作しますか?
java - Struts2 と Maven を使用した静的リソースのバージョン管理
Apache Struts2 を使用して Web アプリケーションを構築しましたが、ブラウザー内でのキャッシュを有効にするために静的リソースをバージョン管理する必要があります。すべてのリソースを Subversion にチェックインしました。
Maven がビルド時に静的リソースをチェックアウトし、静的ファイルの最新の SVN リビジョン番号を読み取り、それに応じてその URL にバージョン番号を追加し、フィルター プロパティを使用して HTML テンプレート内でそれを置き換えるような解決策はありますか?
css - 静的 Web コンテキスト リソースを取得して、ブックマーク可能なページとブックマークできない Wicket ページの両方で動作するようにする
Wicket 1.4 アプリでは、いくつかの静的な CSS および JS リソースが[project root]/WebContent/css
および[project root]/WebContent/js
それぞれの下にあります。
私の Wicket HTML ファイルは、src/resources/fi/company/product/pages
対応する Java クラスとともに にありsrc/main/fi/company/product/pages
ます。(結果の WAR ファイルでは、HTML とプロパティ ファイルはもちろん Java クラスと同じ場所にあります。)
HTML ファイルには、次のようなリソースへの参照が含まれています。
これはどこでも問題なく動作します (または、最近までそう考えていました)。注意: 私の Java コードは、これらのリソースをまったく参照していません。
レンダリングされたページのソース (URL は eghttp://localhost:8080/report/42.4
またはhttp://localhost:8080/?wicket:interface=:6::::
) を見ると、リソース参照は次のように表示されます。
ただし、アプリが (Tomcat) root 以外の場所にデプロイされると、ブックマークできないページでリソースが壊れることに気付きました。
つまり、URLが例えば
http://localhost:8080/foobar/?wicket:interface=:2::::
およびページが参照する
...ブラウザは無効な URL でリソースをフェッチしようとします
では、デプロイ パスに関係なく、これらの静的リソースを機能させる最も簡単な (ハックではない) 方法は何ですか?
ブックマーク可能なページのみを使用するように切り替えることもできますが (ページのコンストラクターを変更する必要があります)、それは必要ではないと思います...
編集:この回答でアドバイスされているように<wicket:link>
、を使用するだけで(ほとんどの場所で)CSSリソースが機能しているように見えます:
ただし、次のような URL を持つページでは CSS 参照が壊れています。http://localhost:8080/foobar/report/42.9
Wicket は "css/main.css" パスで奇妙なことをしようとしています:
編集2<wicket:link>
:これらのリソースファイルは「クラスパスリソース」ではないため、実際にここで正しい解決策があるかどうかはわかりません。私の質問は、Web コンテキスト リソースを使用しながら(つまり、これらのクラス パス リソースを作成せずに)、これを機能させることができるかということです。