三个类似 Sinatra 的 Java 框架介绍
Sinatra 是一个微型的 Ruby 语言的 Web 框架,据说 100 行代码就可以开发一个博客软件。一个简单的hello world的web应用用Sinatra只需5行代码:
<font face="Courier New">1</font> | require 'rubygems' |
<font face="Courier New">2</font> | require 'sinatra' |
<font face="Courier New">3</font> | <font face="Courier New"> </font> |
<font face="Courier New">4</font> | get '/' <font face="Courier New">do</font> |
<font face="Courier New">5</font> | 'Hello World' |
<font face="Courier New">6</font> | <font face="Courier New">end</font> |
而 Sinatra 这种框架的思路被越来越人所接受,也因此创造出参考该框架的其他语言移植版本。
下面是三个 Java 语言实现的类 Sinatra 框架:
1. Turismo
Turismo 是一个类似 Sinatra 的 Java 的微型 Web 框架。
示例代码:
<font face="Courier New">01</font> | <font face="Courier New">public</font> <font face="Courier New">class</font> AppRoutes extends <font face="Courier New">RoutesList { </font> |
<font face="Courier New">02</font> | protected <font face="Courier New">void</font> <font face="Courier New">map() { </font> |
<font face="Courier New">03</font> | get( "/wildcard/*/:id" , new <font face="Courier New">Action() { </font> |
<font face="Courier New">04</font> | public <font face="Courier New">void</font> <font face="Courier New">run() { </font> |
<font face="Courier New">05</font> | String id = params( "id" ); |
<font face="Courier New">06</font> | print( "wildcard id " <font face="Courier New">+ id); </font> |
<font face="Courier New">07</font> | } |
<font face="Courier New">08</font> | }); |
<font face="Courier New">09</font> | } |
<font face="Courier New">10</font> | <font face="Courier New">}</font> |
2. Spark Framework
Spark是一个微型的Java Web框架,它的灵感来自于Sinatra,它的目的是让你以最小的代价创建出一个Java Web应用。
示例代码:
<font face="Courier New">01</font> | <font face="Courier New">import</font> <font face="Courier New">static</font> <font face="Courier New">spark.Spark.*; </font> |
<font face="Courier New">02</font> | <font face="Courier New">import</font> <font face="Courier New">spark.*; </font> |
<font face="Courier New">03</font> | <font face="Courier New"> </font> |
<font face="Courier New">04</font> | <font face="Courier New">public</font> <font face="Courier New">class</font> <font face="Courier New">HelloWorld { </font> |
<font face="Courier New">05</font> | <font face="Courier New"> </font> |
<font face="Courier New">06</font> | public <font face="Courier New">static</font> <font face="Courier New">void</font> <font face="Courier New">main(String[] args) { </font> |
<font face="Courier New">07</font> | <font face="Courier New"> </font> |
<font face="Courier New">08</font> | get( new Route( "/hello" ) { |
<font face="Courier New">09</font> | @Override |
<font face="Courier New">10</font> | public <font face="Courier New">Object handle(Request request, Response response) { </font> |
<font face="Courier New">11</font> | return "Hello World!" ; |
<font face="Courier New">12</font> | } |
<font face="Courier New">13</font> | }); |
<font face="Courier New">14</font> | } |
<font face="Courier New">15</font> | <font face="Courier New">}</font> |
3. Scalatra
Scalatra 是一个 Scala 语言仿 Sinatra 的框架。
示例代码:
<font face="Courier New">1</font> | <font face="Courier New">import</font> org.scalatra. _ |
<font face="Courier New">2</font> | <font face="Courier New"> </font> |
<font face="Courier New">3</font> | <font face="Courier New">class</font> ScalatraExample extends <font face="Courier New">ScalatraServlet { </font> |
<font face="Courier New">4</font> | get( "/" ) { |
<font face="Courier New">5</font> | <h 1 >Hello, world!</h 1 > |
<font face="Courier New">6</font> | } |
<font face="Courier New">7</font> | <font face="Courier New">}</font> |
总结:
Sinatra 是一种全堆栈的 Web 框架解决方案,这种思路用在 Java 上,你觉得靠谱吗?
说说你的想法吧?
相关推荐
IT之家 2020-03-11
graseed 2020-10-28
zbkyumlei 2020-10-12
SXIAOYI 2020-09-16
jinhao 2020-09-07
impress 2020-08-26
liuqipao 2020-07-07
淡风wisdon大大 2020-06-06
yoohsummer 2020-06-01
chenjia00 2020-05-29
baike 2020-05-19
扭来不叫牛奶 2020-05-08
hxmilyy 2020-05-11
黎豆子 2020-05-07
xiongweiwei00 2020-04-29
Cypress 2020-04-25
冰蝶 2020-04-20