1. 程式人生 > >Jersey 2.x 執行專案

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