Відмінності між версіями «Sparkjava»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
м
м
Рядок 11: Рядок 11:
 
<source lang="java">
 
<source lang="java">
 
import static spark.Spark.*;
 
import static spark.Spark.*;
 +
import spark.template.velocity.VelocityEngine;
  
 
public class HelloWorld {
 
public class HelloWorld {
Рядок 19: Рядок 20:
 
           return "Hello: " + request.params(":name");
 
           return "Hello: " + request.params(":name");
 
       });
 
       });
 +
 +
      get("/velo", (request, response) -> {
 +
          Map<String, Object> model = new HashMap<>();
 +
          model.put("hello", "Velocity World");
 +
 +
          // The wm files are located under the resources directory
 +
          return new ModelAndView(model, "velo.vm");
 +
      }, new VelocityTemplateEngine());
 +
 
       post("/", (request, response) -> {
 
       post("/", (request, response) -> {
 
           response.redirect("/bar", 301);
 
           response.redirect("/bar", 301);
 
       });
 
       });
 +
 
       before("/protected/*", (request, response) -> {
 
       before("/protected/*", (request, response) -> {
 
           // ... check if authenticated
 
           // ... check if authenticated

Версія за 19:15, 12 жовтня 2016

Spark - безкоштовний фреймворк для веб-додатків із відкритим кодом, написаний на Java. Це альтернатива іншим фреймворкам, таким як JAX-RS, Play framework і Spring MVC. За замовчуванням він працює на вбудованому веб-сервері Jetty, але може використовувати і інші.


Опираючись на ідеї Sinatra, він не відповідає архітектурі model–view–controller, на відміну від Spring MVC та інших. Замість цього Spark призначений для "швидкого створення веб-додатку в Java з мінімальними зусиллями".

В якості шаблонізатора може використовуватися Apache Velocity.

Spark створений довкола Java 8 лямбда філософії, що робить типовий код на Spark значно коротшим, ніж більша частина додатків, написаних в інших веб-фреймворках Java.

Приклад:

import static spark.Spark.*;
import spark.template.velocity.VelocityEngine;
 
public class HelloWorld {
   public static void main(String[] args) {
 
      get("/hello/:name", (request, response) -> {
          response.cookie("foo", "bar", 3600);
          return "Hello: " + request.params(":name");
      });
 
      get("/velo", (request, response) -> {
          Map<String, Object> model = new HashMap<>();
          model.put("hello", "Velocity World");
 
          // The wm files are located under the resources directory
          return new ModelAndView(model, "velo.vm");
      }, new VelocityTemplateEngine());
 
      post("/", (request, response) -> {
          response.redirect("/bar", 301);
      });
 
      before("/protected/*", (request, response) -> {
          // ... check if authenticated
          halt(401, "Go Away!");
      });
 
   }
}

Документація Spark Framework

Проект NetBeans з прикладом серверу та шаблонізатором