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


前言

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

原文地址:

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 server

  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

配置JDK

  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。

創建項目

  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。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM