2016-07-28 4 views
0

私はSparkを実行する以下の単純なメインクラスを持っています。get requestを使用すると、sparkフレームワークでスタティックルートが変わるのはなぜですか?

Spark.port(4570);  
    final Configuration configuration = new Configuration(new Version(2, 3, 0)); 
    configuration.setClassForTemplateLoading(SparkHandler.class, "/"); 

    Spark.staticFileLocation("/public"); 

    Spark.get("/", (request, response) -> { 

     // read patterns 

     // attributes for web-interface. 
     Map<String, Object> attributes = new HashMap<>(); 
     attributes.put("data", "someData"); 

     return new ModelAndView(attributes, "timeline.ftl"); 
    } , new FreeMarkerEngine()); 

すべてがうまくいきます。私がhttp://localhost:4570/に行くと、私は要求されたウェブページを手に入れました!

私は今/a/b/cにGETステートメントにパスを変更するが、非常に同じコードを実行します。私は今、例えばに行く場合

Spark.port(4570); 
    final Configuration configuration = new Configuration(new Version(2, 3, 0)); 
    configuration.setClassForTemplateLoading(SparkHandler.class, "/"); 

    Spark.staticFileLocation("/public"); 

    Spark.get("https://stackoverflow.com/a/b/c", (request, response) -> { 

     // read patterns 

     // attributes for web-interface. 
     Map<String, Object> attributes = new HashMap<>(); 
     attributes.put("data", "someData"); 

     return new ModelAndView(attributes, "timeline.ftl"); 
    } , new FreeMarkerEngine()); 

http://localhost:4570/a/b/c、以前に見つかった可能性があるリソースの多くがもう利用できないというメッセージを返します。例えば。

INFO 28/07/16 14:03:45 [/a/b/vis/vis.js】スパーク

にマッピングされていない要求されたルートがしかし、それが正確です場所は/public/vis/vis.jsです。

getコマンドは静的ディレクトリを変更しますか?または、ここで起こっていることが分かりません:)。

答えて

1

回答が見つかりました!

私のfreemarker/htmlファイルで、私は、例えば、絶対パスにそれらを変更

<script src="./vis/vis.js"></script> 

は、問題解決:愚かな質問のための

<script src="/vis/vis.js"></script> 

申し訳ありませんが、多分それは他の人に役立ちます。

関連する問題