私は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コマンドは静的ディレクトリを変更しますか?または、ここで起こっていることが分かりません:)。