刚把Spark相关包下下来,就迫不及待的开始搞起来了。
看着Doc里写的一个简单的例子,啪啪啪啪敲了起来,一运行,发现报Class版本错。我呐了个闷的,肿么会这样。无奈,换成1.6,Run,当控制台出现这些东西的时候,心里狂喜了起来。
2011-11-08 15:07:06,662 DEBUG - RouteMatcherFactory - creates RouteMatcher
2011-11-08 15:07:06,678 DEBUG - SimpleRouteMatcher - Adds route: get, /hello, com.spark.SimpleSample$1@1dfafd1
2011-11-08 15:07:06,678 DEBUG - SimpleRouteMatcher - Adds route: post, /hello, com.spark.SimpleSample$2@8fce95
2011-11-08 15:07:06,678 DEBUG - SimpleRouteMatcher - Adds route: get, /private, com.spark.SimpleSample$3@143c8b3
2011-11-08 15:07:06,678 DEBUG - SimpleRouteMatcher - Adds route: get, /users/:name, com.spark.SimpleSample$4@12d7a10
2011-11-08 15:07:06,678 DEBUG - SimpleRouteMatcher - Adds route: get, /news/:section, com.spark.SimpleSample$5@a8c488
2011-11-08 15:07:06,678 DEBUG - SimpleRouteMatcher - Adds route: get, /protected, com.spark.SimpleSample$6@1feca64
2011-11-08 15:07:06,678 DEBUG - SimpleRouteMatcher - Adds route: get, /redirect, com.spark.SimpleSample$7@998b08
2011-11-08 15:07:06,678 DEBUG - SimpleRouteMatcher - Adds route: get, /, com.spark.SimpleSample$8@76cbf7
== Spark has ignited ...
>> Listening on 0.0.0.0:9999
贴出Spark中的例子
package com.spark;
import static spark.Spark.*;
import spark.Request;
import spark.Response;
import spark.Route;
public class SimpleSample {
public static void main(String[] args) {
setPort(9999); // <- Uncomment this if you wan't spark to listen on a
// port different than 4567.
get(new Route("/hello") {
@Override
public Object handle(Request request, Response response) {
return "Hello World!";
}
});
post(new Route("/hello") {
@Override
public Object handle(Request request, Response response) {
return "Hello World: " + request.body();
}
});
get(new Route("/private") {
@Override
public Object handle(Request request, Response response) {
response.status(401);
return "Go Away!!!";
}
});
get(new Route("/users/:name") {
@Override
public Object handle(Request request, Response response) {
return "Selected user: " + request.params(":name");
}
});
get(new Route("/news/:section") {
@Override
public Object handle(Request request, Response response) {
response.type("text/xml");
return "<?xml version=\"1.0\" encoding=\"UTF-8\"?><news>"
+ request.params("section") + "</news>";
}
});
get(new Route("/protected") {
@Override
public Object handle(Request request, Response response) {
halt(403, "I don't think so!!!");
return null;
}
});
get(new Route("/redirect") {
@Override
public Object handle(Request request, Response response) {
response.redirect("/news/world");
return null;
}
});
get(new Route("/") {
@Override
public Object handle(Request request, Response response) {
return "root";
}
});
}
}
嗯,我们来访问一个重定向的例子
http://localhost:9999/redirect
页面被重定向到了/news/world
呵呵,好神奇啊。这个Spark正好跟我们公司现在用到的一个很像,所以感觉很亲切。特此记录。