web-dev-qa-db-ja.com

Spark Web Frameworkの静的ファイルを配置する場所?

Spark Webフレームワークで静的ファイルを提供しようとする場合、ファイルはどこに配置しますか?

私はオンラインで何かを見つけることができませんでした-EclipseとJavaプロジェクトのクラスパス、相対パスなどについて何も理解していないのではないかと疑っています。

この段落 Sparkは/publicを参照していますが、それがどこにあるのかわかりません。Windows、Eclipse Lunaおよび私のプロジェクトはMavenを使用するように変換されます。

GitHubでコードを調べてみましたが、それを見つけようとして少し深みがありません。

30
creatsin

まず、Sparkこのような静的ファイルの検索場所を指定する必要があります。

Spark.staticFiles.location("/public");

Spark 2.5より前のバージョンでは、以下を使用する必要があります。

Spark.staticFileLocation("/public");

次に、プロジェクトには次のようなresourcesフォルダーの下にpublicフォルダーが必要です。

/src/main/resources/public/style.css

たとえば、style.cssファイルがあるため、次のようにアクセスする必要があります。

http://localhost:4567/style.css


クラスパス以外のフォルダーを提供する場合は、使用する必要があります

Spark.staticFiles.externalLocation("/path/to/dir");

Spark 2.5より前のバージョンでは、次を使用する必要があります。

Spark.externalStaticFileLocation("/path/to/dir");
51

次のように、静的コンテンツの下にスタイルシートを配置します。

staticFileLocation( "/web" );
/web/
  |-- index.html
  +-- styles/
        +
        +--- default.css

そして、index.html

... <link href="styles/default.css" rel="stylesheet"   type="text/css" />

また、freemarkerと同様に生成された他のHTMLページもあります。彼らはただパスを収集します:

  • /styles/default.css、または
  • localhost:8081/styles/default.css

インデックスが取得するCSSの方法を示します。

ソース: https://groups.google.com/d/msg/sparkjava/5vMuK_5GEBU/vh_jHra75u0J

3
Dherik
  1. Eclipseでプロジェクトを右クリックし、[新規作成]-> [パッケージ]を選択します。新しいパッケージに名前を付けるなど。

  2. 静的リソースをそのパッケージの下に配置して、クラスパスの下にあることを確認できます。

  3. Mainクラスcoldeで、staticFileLocation( "yourpackagename /");を呼び出します。
2
Laercio Metzner
  1. パブリックディレクトリを_src/main/resources_に配置します
  2. Spark.staticFileLocation("/public");Spark.staticFileLocation("public");に置き換えます
1
Moses