Відмінності між версіями «Sparkjava»
Матеріал з Вікі ЦДУ
м |
м |
||
Рядок 1: | Рядок 1: | ||
− | '''[http://sparkjava.com Spark]''' - безкоштовний фреймворк для веб-додатків із відкритим кодом, написаний на Java. Це альтернатива | + | '''[http://sparkjava.com Spark]''' - безкоштовний фреймворк для веб-додатків із відкритим кодом, написаний на Java. Це альтернатива іншим фреймворкам, таким як JAX-RS, Play framework і Spring MVC. За замовчуванням він працює на вбудованому веб-сервері Jetty, але може використовувати і інші. |
Рядок 15: | Рядок 15: | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
− | get("/hello", (request, response) -> "Hello | + | get("/hello/:name", (request, response) -> { |
+ | response.cookie("foo", "bar", 3600); | ||
+ | return "Hello: " + request.params(":name"); | ||
+ | }); | ||
+ | post("/", (request, response) -> { | ||
+ | response.redirect("/bar", 301); | ||
+ | }); | ||
+ | before("/protected/*", (request, response) -> { | ||
+ | // ... check if authenticated | ||
+ | halt(401, "Go Away!"); | ||
+ | }); | ||
} | } |
Версія за 19:06, 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.*; public class HelloWorld { public static void main(String[] args) { get("/hello/:name", (request, response) -> { response.cookie("foo", "bar", 3600); return "Hello: " + request.params(":name"); }); post("/", (request, response) -> { response.redirect("/bar", 301); }); before("/protected/*", (request, response) -> { // ... check if authenticated halt(401, "Go Away!"); }); } }