Spark是一个微型的Java Web框架,它的灵感来自于Sinatra,它的目的是让你以最小的代价创建出一个Java Web应用。最近更新到2.0.0,支持Java 8 ,支持Lambda,Demo代码看起来非常有吸引力
最新版本已经可以通过maven center仓库依赖进来
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.0.0</version>
</dependency>
入门指南
import static spark.Spark.*;
import spark.*;
public class HelloWorld {
public static void main(String[] args) {
get("/hello", (request, response) -> {
return "Hello World!";
});
}
}
运行
http://localhost:4567/hello
是否非常简单?
基本功能
Spark的应用程序的主要构建块是一组路由。路由是由三个部分组成:
一个动词(get, post, put, delete, head, trace, connect, options)
路径(/hello, /users/:name)
一个回调(request, response) -> { }
路由匹配的顺序定义。调用第一个匹配的路由请求。
import static spark.Spark.*;
import spark.Request;
import spark.Response;
import spark.Route;
/**
* A simple example just showing some basic functionality
*/
public class SimpleExample {
public static void main(String[] args) {
// setPort(5678); <- Uncomment this if you wan't spark to listen on a port different than 4567.
get("/hello", (request, response) -> {
return "Hello World!";
});
post("/hello", (request, response) -> {
return "Hello World: " + request.body();
});
get("/private", (request, response) -> {
response.status(401);
return "Go Away!!!";
});
get("/users/:name", (request, response) -> {
return "Selected user: " + request.params(":name");
});
get("/news/:section", (request, response) -> {
response.type("text/xml");
return "<?xml version=\"1.0\" encoding=\"UTF-8\"?><news>" + request.params("section") + "</news>";
});
get("/protected", (request, response) -> {
halt(403, "I don't think so!!!");
return null;
});
get("/redirect", (request, response) -> {
response.redirect("/news/world");
return null;
});
get("/", (request, response) -> {
return "root";
});
}
}
文章转载自 开源中国社区 [http://www.oschina.net]
时间: 2024-09-17 09:53:19