Jersey 2.x 运行项目
现在我们已经有可以可以运行的项目了,让我们队这个项目进行一些测试吧。
你需要运行下面的一些命令行:
mvn clean test |
这个命令将会对项目进行编译后运行单元测试。
你应该会看到和下面类似的输出表示项目编译成功了:
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.742 s [INFO] Finished at: 2018-03-27T15:05:50-04:00 [INFO] Final Memory: 17M/205M [INFO] ------------------------------------------------------------------------
上面的输出表示的是项目已经被编译测试通过了。
我们可以开始使用独立启动方式启动项目了,希望直接启动项目,需要运行下面的 mvn 项目启动命令:
mvn exec:java |
这时候,项目应该已经正常启动了,很快你应该可以在控制台上看到下面的输出:
Mar 27, 2018 3:10:28 PM org.glassfish.grizzly.http.server.NetworkListener start INFO: Started listener bound to [localhost:8080] Mar 27, 2018 3:10:28 PM org.glassfish.grizzly.http.server.HttpServer start INFO: [HttpServer] Started. Jersey app started with WADL available at http://localhost:8080/myapp/application.wadl Hit enter to stop it...
项目这个时候已经运行了,有关项目的 WADL 描述文件可以通过 http://localhost:8080/myapp/application.wadl
URL 访问到。
你可以考虑在你的控制台中通过命令中 curl http://localhost:8080/myapp/application.wadl 访问这个项目的描述文件,你也可以直接将这个链接拷贝粘贴到浏览器中直接进行查看。
如果一切正常的话,你应该可以看到你部署的 RESTful 应用程序的的 WADL 格式的 XML 文档。希望查看更多有关 WADL 的内容,请查看章节 Chapter 17, WADL Support。
部署成功后最后一件可以尝试的事情就是与部署的 /myresource 资源进行数据交互。
你可以考虑直接把 http://localhost:8080/myapp/myresource 链接复制粘贴到浏览器中,你也可以通过 curl 执行命令。
有关 curl 执行命令的结果如下:
$ curl http://localhost:8080/myapp/myresource Got it!
你可以看到,当你执行上面的命令后,控制台输出了 Got it!消息,这个消息是服务器发送给我们的资源。
我们也可以通过参数 -i 让 curl 提供更多的信息给我们来让我们了解有关消息发送响应的相关信息。
curl -i http://localhost:8080/myapp/myresource HTTP/1.1 200 OK Content-Type: text/plain Date: Sun, 26 May 2013 18:27:19 GMT Content-Length: 7 Got it!
注意到Content-Type: text/plain
是在 MyResource 类中用@Produces
注解的。
如果想看到更多返回信息,或者想了解 curl 客户端和运行的 Grizzly I/O 容器的交互,可以变换不同的 curl 命令参数。例如下面的例子可以让 curl 客户端输出更多有关于服务器通信和交互的相关信息:
$ curl -v http://localhost:8080/myapp/myresource * About to connect() to localhost port 8080 (#0) * Trying ::1... * Connection refused * Trying 127.0.0.1... * connected * Connected to localhost (127.0.0.1) port 8080 (#0) > GET /myapp/myresource HTTP/1.1 > User-Agent: curl/7.25.0 (x86_64-apple-darwin11.3.0) libcurl/7.25.0 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.22 > Host: localhost:8080 > Accept: */* > < HTTP/1.1 200 OK < Content-Type: text/plain < Date: Sun, 26 May 2013 18:29:18 GMT < Content-Length: 7 < * Connection #0 to host localhost left intact Got it!* Closing connection #0 https://www.cwiki.us/display/JERSEYZH/Running+the+Project