在GlassFish應用服務器上建立並運行你的第一個Restful Web Service【翻譯】

前言html

本人一直開發Android應用,目前Android就業形勢惡劣,甚至會一路下滑,所以決定學習服務器開發。採用的語言是java,IDE是Intellij,在下載Intellij的同時看到官網不少優秀的guide文章,因而按照guide成功完成了一個RESTful的demo。官方文檔很是簡潔,給我帶來了很大的幫助,因而翻譯之,但願對其餘不肯意看原文的人有所幫助。因爲水平有限,讀者發現錯誤請指正,謝謝。java

原文地址:web

https://www.jetbrains.com/help/idea/2016.3/creating-and-running-your-first-restful-web-service-on-glassfish-application-server.html瀏覽器

準備工做服務器

  1. 肯定你正在使用的IDEIntellij Ultimate版本。 
  2. 安裝jdk,版本爲1.8或更高。
  3. 下載GlassFish Appcation Server,版本爲3.0.1或者更高。
  4. 肯定瀏覽器在你的電腦上是可用的。

Intellij中配置GlassFish serverrestful

  1. 打開Settings/Preferences對話框(WindowsLinux 平臺經過快捷ctrl+alt+s或者選擇File|SettingsOS X選擇Intellij IDEA|Preferences),而且點擊Build,Execution,Deployment下的Applicaton Servers
  2. 打開Application Servers頁面,點擊中間欄上部的「+」圖標從列表中選擇GlassFish Server
  3. 在右邊欄,GlassFish Home一欄指定GlassFish Server安裝文件夾。手動輸入路勁或者在點擊「...」彈出的對話框中選擇安裝文件夾。Intellij IDEA檢測application server的版本而且自動填充到Name一欄。其餘的區域都是自動填充或者可選的,此時點擊OK

配置JDKapp

  1. ctrl+shift+alt+s或者選擇主菜單中的File|Project Structure
  2. Project Structure對話框中,選擇Platform Settins下的SDKs
  3. 在打開的SDKs上點擊中間欄上部的「+」而且選擇JDK
  4. 在右邊欄指定JDK安裝文件夾。手動輸入路勁或者點擊「...」彈出對話框選擇安裝文件夾。Intellij IDEA檢測JDK的版本而且自動填充到Name一欄。
    • 其餘tabs的全部必填項會被自動填充上,此時點擊OK。

建立項目ide

  1. 在歡迎界面點擊Create New Project,或者在主菜單中選擇File|New|Project。打開New Project嚮導。
  2. 首先,Project Category and Options頁面嚮導:第二,嚮導中的Project Name and Location頁面,指定你新項目的名字。點擊Finish而且等到直到Intellij建立好項目。
    1. 在左邊欄選擇Java Enterprise
    2. Project SDK列表選擇使用的JDK
    3. Application Server下拉列表中選擇GlassFish4.1.1
    4. JavaEE Version下拉列表中選擇JavaEE7
    5. Additional Libraries and Frameworks區域選中Web ApplicationRESTful Web Service複選框。
    6. Additional Libraries and Frameworks列表下發選擇Download選項。這個區域只有在你選擇了Web以後纔會顯示。
    7. 點擊Next
  3. 第二,嚮導中的Project Name and Location頁面,指定你新項目的名字。點擊Finish而且等到直到Intellij建立好項目。工具

探索項目結構學習

當項目已經建立好,在Project視圖下你能夠看到相似這樣的結構:

 

(略過目錄結構介紹)

開發源碼

個人Hello World程序將包含一個資源類HelloWorld.java和一個配置類MyApplication。這個程序的功能僅僅是輸出一個文本Hello World。

  1. src文件夾建立HelloWorld.java類:  
    •  1 import javax.ws.rs.GET;
       2 
       3 import javax.ws.rs.Path;
       4 
       5 import javax.ws.rs.Produces;
       6 
       7  
       8 
       9 // The Java class will be hosted at the URI path "/helloworld"
      10 
      11 @Path("/helloworld")
      12 
      13 public class HelloWorld {
      14 
      15     // The Java method will process HTTP GET requests
      16 
      17     @GET
      18 
      19     // The Java method will produce content identified by the MIME Media type "text/plain"
      20 
      21     @Produces("text/plain")
      22 
      23     public String getClichedMessage() {
      24 
      25         // Return some cliched textual content
      26 
      27         return "Hello World";
      28 
      29         }
      30 
      31     }

       

  2. 在src文件夾建立MyApplication.java類:
    •  1 import javax.ws.rs.ApplicationPath;
       2 
       3 import javax.ws.rs.core.Application;
       4 
       5 import java.util.HashSet;
       6 
       7 import java.util.Set;
       8 
       9  
      10 
      11 //Defines the base URI for all resource URIs.
      12 
      13 @ApplicationPath("/")
      14 
      15 //The java class declares root resource and provider classes
      16 
      17 public class MyApplication extends Application{
      18 
      19     //The method returns a non-empty collection with classes, that must be included in the published JAX-RS application
      20 
      21     @Override
      22 
      23     public Set<Class<?>> getClasses() {
      24 
      25         HashSet h = new HashSet<Class<?>>();
      26 
      27         h.add( HelloWorld.class );
      28 
      29         return h;
      30 
      31         }
      32 
      33 }

       

檢查生成的artifact配置

除了構建一個具體的RESTful項目結構之外,Intellij IDEA也爲咱們配置了artifact。

IntelliJ IDEA中的artifact可能意味着如下之一:

  • 一個artifact配置即項目輸出的規範。
  • 根據這樣的規格(配置)生成的實際輸出。

讓咱們看一下這個配置

  1. 在主菜單按ctrl+shift+alt+s或者選擇File|Project Structure打開Project Structure對話框。
  2. Proj Settings下選擇Artifacts。可用的artifact配置顯示在中間欄的「+」和「-」下面。當前只有一個配置rest_glassfish_hello_world:war exploded,它是一個解壓縮的Web應用程序存檔(WAR),一種準備部署到Web服務器上的目錄結構。
  3. Artifact設置顯示在右邊欄的對話框中:

IntelliJ IDEA已經填寫了全部必填項,不須要咱們進行更改,因此只需單擊取消離開對話框。

探索並完成運行配置

IntelliJ IDEA中,根據專用的run configuration啓動任何應用程序。在項目建立期間,咱們已經指定GlassFish Server做爲運行應用程序的應用程序服務器。基於此選擇和代碼中的註釋,IntelliJ IDEA建立了運行配置並填充了幾乎全部必填項。

  1. 選擇主菜單的Run|Edit Configuration或者點擊Shif+Alt+F10並在彈出菜單中選擇Edit Configuration
  2. 在打開的Edit Configuration對話框中,展開GlassFish Server節點而且點擊GlassFish4.1.1。 右邊欄顯示自動生成的運行配置的設置。
    • Application Server字段顯示GlassFish4.1.1,它是在項目建立期間選擇的GlassFish Server安裝的。Name字段也顯示GlassFish4.1.1,在指定應用服務器後IntelliJ IDEA已自動命名生成的配置。
    • 在Open brower區域,After launch複選框已經被選中,因此具備應用程序輸出的頁面將自動打開。在下面的文本區,咱們須要指定被打開頁面的URL地址。在咱們的例子中是http://localhost:8080/rest_glassfish_hello_world_war_exploded/helloworld。
    • 爲了rest_glassfish_hello_world:war exploded自動部署啓動運行配置,該artifact必須被標記爲部署。若是你已經成功完成項目建立步驟,該artifact會被標記爲自動部署,不然Intellij IDEA顯示警告No artifacts marked for deployment和一個Fix按鈕。
    • 當你點擊Fix時,Intellij IDEA打開Deployment欄,其中rest_glassfish_hello_world:war exploded被添加到Deploy on the server starup列表中。
    • 全部的其餘字段會被自動填充上或是可選項,因此點擊OK保存運行配置。

運行應用程序

點擊工具欄上的,以後:

  1. Intellij IDEA編譯你的源碼而且構建一個應用程序。
  2. Run Tool Window打開。 IntelliJ IDEA啓動服務器並在其上部署。
  3. 最後,你默認的web瀏覽器啓動,而後你看到應用程序輸出的Hello World。
相關文章
相關標籤/搜索