最简单明了的Java Web框架(1)

前阵子在10gen官网参与了MongoDB For Java Developer的网络课程,课程采用了一个blog作为开发例子,,侧重于MongoDB的介绍,当然要对web开发(web框架,HTML,JavaScript等)尽可能略过。在搭建这个blog web app的时候,课程使用了一个叫Spark的框架,让笔者眼前一亮。

经过一番阅读(网上的资料很少)和实验,发现Spark确实是简单明了到极致的Java Web框架。如果任何Java Developer,想要迅速地开发一个简单的web产品(例如blog,或者简单的公司网站),Spark绝对是第一选择。

下面介绍一下笔者的实验(基于maven,Eclipse):

1、用maven新建一个web project

命令如下

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp

2、用maven的eclipse插件把这个web project加入Eclipse IDE支持

命令如下:

mvn eclipse:eclipse -Dwtpversion=2.0

3、打开Eclipse,Import -> Existing Projects into Workspace

4、打开pom.xml,把spark加进去

需要加一个repository和一个dependency

加好之后的pom如下

<project xmlns="" xmlns:xsi=""xsi:schemaLocation=" http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>jieqin</groupId><artifactId>blog</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version><name>blog Maven Webapp</name><url></url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>spark</groupId><artifactId>spark</artifactId><version>0.9.9.4-SNAPSHOT</version></dependency></dependencies><repositories><repository><id>Spark repository</id><url></url></repository></repositories><build><finalName>blog</finalName></build></project>5、在terminal执行mvn clean install

maven会自动下载spark包,以及spark包所依赖的3个包(jetty-webapp, servlet-api, slf4j-api)

需要jetty的原因是spark使用&#8;它作为embedded sever,这样不需要额外的server就可以运行spark项目

6、新建一个Java class

package blog;import spark.*;public class Test {public static void main(String[] args) {Spark.get(new Route("/hello") {/* (non-Javadoc)* @see spark.Route#handle(spark.Request, spark.Response)*/@Overridepublic Object handle(Request request, Response response) {return "Hello World from Spark!";}});}}

7、运行(Run as Java Application)

注意Eclipse的console view里面出现如下的log

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See #StaticLoggerBinder for further details.== Spark has ignited …>> Listening on 0.0.0.0:4567这时候表示spark(“火花”的英文)已经被点燃了!打开web浏览器,输入:4567/hello

后面计划就下面2个问题各再写一篇

1、Spark——最简单明了的Java Web框架(2)

现在整个项目的入口是main方法,那怎么把这个web项目重新构造使得它符合大家熟悉的根据url pattern调用相应的servlet的模式,并且如何使基于Spark的web项目部署在tomcat这样的server上。

2、Spark + Freemarker + Bootstrap

加入Freemarker作为HTML templating engine,以及Bootstrap作为CSS,使得Spark+Freemarker+Bootstrap真正能够有很强的实用性,而不是简单的&#8;只能做做hello world。

有兴趣的朋友可以站内联系。

让情谊在笑声中升腾,当朋友遇到了难题的时候,

最简单明了的Java Web框架(1)

相关文章:

你感兴趣的文章:

标签云: