[Java] Java Web 開發環境與語言架構指南

Intro


JRE & JDK安裝

1. 安裝JRE:

# Ubuntu
$ sudo apt install default-jre

驗證JAVA版本:

$ java -version

2. 安裝JDK (一般會包含JRE)

Oracle JAVA (JRE/JDK) Download

# Ubuntu
$ sudo apt install default-jdk

使用JAVAC驗證版本:

$ javac -version

管理與選擇JAVA版本

$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac

Quick Start

HelloWorld編譯測試

測試撰寫一支HelloWorld.java檔案以供編譯:

public class HelloWorld {
    public static void main (String[] args) {
        System.out.printf("Hello World");
    }
}

使用javac指令編譯該程式檔案:

$ javac HelloWorld.java

使用java執行編譯產生出來的Class(HelloWorld.class)名稱:

$ java HelloWorld

常用函數

System.out.println("HelloWorld");
System.exit(0);

JAVA Package套件管理

Maven Central Repository

Maven Dependencies – Wiki

Maven Central支援多種Dependency工具,對應工具的安裝方法可以參考官網,例如套件:org.apache.httpcomponents.client5:httpclient5:5.1

Gradle

Gradle – Wiki

Gradle是一個基於Apache Ant和Apache Maven概念的專案自動化建構工具,預設來源套件庫一樣使用mavenCentral()

可以透過安裝並指令執行Gradle以建立專案,或直接用IDE建立: Building Java Applications Sample

透過修改build.gradle設定dependencies,完成後Build時即會更新套件:Managing Dependencies of JVM Projects


Logging

Java built-in java.util.logging


開發工具安裝(JetBrains – IntelliJ IDEA)

Create New Project (建立全新專案)

Project SDK請選擇環境上所偵測到的JAVA路徑。
接著建立專案進行撰寫與執行輸出即可。

Spring Web

Spring Web可以搭配IntelliJ IDEA Community版本開發,Spring Initializr提供產生Project檔案以供匯入專案進行開發。

Spring Quick Start: https://spring.io/quickstart

Dependencies選擇”Spring Web”,其他項目依照喜好及配置選擇

匯出zip檔解包後,將資料夾使用IntelliJ Open project,進入後會自動Build Project,
Project完成可用後可以點進src/main/java/{Group}.web找Application檔案右鍵執行Run來測試,
可以看到預設會在localhost:8080上啟動服務(Tomcat initialized with port(s): 8080 (http))。

Controller建立

Spring Quick Start預設沒有Controller,可以在左側導覽右鍵點選{Group}.web資料夾: New > Java Class,
建立一個Controller例如HelloController,Class內容只會自動填好package,往下自行來撰寫Code,範例如下:

import org.springframework.web.bind.annotation.*;

@RestController
public class HelloController {
    @GetMapping("/")
    public String index() {
        return "Welcome to Spring Boot!";
    }

    @GetMapping("/hello")
    public String hello() {
        return "Hello";
    }
}

附錄資訊

HTTP Client

JAVA HTTP Client範例程式碼:JAVA HTTP Client Sample codes

Leave a Reply

Your email address will not be published. Required fields are marked *