关于Spark一个简单的例子

刚把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正好跟我们公司现在用到的一个很像,所以感觉很亲切。特此记录。

转载于:https://my.oschina.net/willclick/blog/34808

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值