Ülevaade

Java Vanilla on tavaline Java projekt, mis kasutab ainult standardteeki ja kergekaalulist HTTP-serverit. See pakub puhast lähtepunkti veebirakenduste ja REST API-de ehitamiseks ilma raamistiku üldkuludeta.

Enne alustamist
Veendu, et sinu töölaud on avatud - vajad seal kuvatavaid Giti sisselogimisandmeid. See mall sisaldab kergekaalulist HTTP-serverit, JDBC-d andmebaasi juurdepääsuks ja Gsoni JSON-i käitlemiseks.

Kiirjuhend

1

Loo repositoorium mallist

Mine oma töölaual vahekaardile Tools & Deployment. Klõpsa nuppu "New Repository", vali rippmenüüst Java Vanilla mall, sisesta repositooriumi nimi ja alamdomeen ning klõpsa "Create Repository".

2

Klooni oma repositoorium

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Ehita projekt

mvn clean package
4

Käivita rakendus

java -jar target/app.jar

Server töötab vaikimisi aadressil http://localhost:8080.

5

Saada oma muudatused üles

git add .
git commit -m "Initial setup"
git push origin main
Iga push Giti juurutab sinu rakenduse automaatselt. Kontrolli oma Mooduli töö-URL-i töölaual, et näha oma live-saiti.

Kohalik arendus Dockeriga

Kui sul ei ole Javat ega Mavenit kohalikult paigaldatud, saad oma projekti ehitamiseks ja käivitamiseks kasutada Dockerit.

Mis on Docker?
Docker loob isoleeritud "konteinerid" kogu vajaliku tarkvaraga (Java, Maven), ilma et peaksid neid oma arvutisse paigaldama.

Käskude käivitamine Dockeriga

# Ehita projekt
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 mvn clean package

# Käivita rakendus
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/app.jar

Projekti struktuur

├── src/
│   └── main/
│       └── java/
│           └── com/example/
│               ├── App.java              # Sisendpunkt ja HTTP-server
│               ├── handlers/             # Päringute käitlejad
│               └── models/               # Andmemudelid
├── pom.xml                               # Maven sõltuvused
└── Dockerfile                            # Dockeri seadistus
        

Levinud ülesanded

HTTP-käitleja loomine

import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import java.io.IOException;
import java.io.OutputStream;

public class UsersHandler implements HttpHandler {
    @Override
    public void handle(HttpExchange exchange) throws IOException {
        String response = "{\"message\": \"Hello from Java!\"}";
        exchange.getResponseHeaders().set("Content-Type", "application/json");
        exchange.sendResponseHeaders(200, response.length());
        try (OutputStream os = exchange.getResponseBody()) {
            os.write(response.getBytes());
        }
    }
}

Andmebaasiühendus JDBC-ga

import java.sql.*;

String url = "jdbc:mysql://db.<session-domain>:3306/<username>";
Connection conn = DriverManager.getConnection(url, "username", "password");

PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE id = ?");
stmt.setInt(1, userId);
ResultSet rs = stmt.executeQuery();

Kasulikud käsud

mvn clean package Ehita projekt
java -jar target/app.jar Käivita rakendus
mvn dependency:tree Kuva sõltuvuste puu

Tõrkeotsing

java.sql.SQLException: Access denied

Lahendus: Kontrolli, et JDBC ühenduse URL, kasutajanimi ja parool vastaksid sinu töölaua sisselogimisandmetele.

Port 8080 on juba kasutusel

Lahendus: Muuda porti oma App.java failis või peata teine protsess, mis kasutab porti 8080.

ClassNotFoundException JDBC draiveri jaoks

Lahendus: Veendu, et MySQL JDBC draiver on lisatud sinu pom.xml sõltuvustesse, ja käivita mvn clean package uuesti.

Juurutamise töövoog

Koodimuudatus git push mvn package Live!
Lisainfo saamiseks külasta ametlikku Java dokumentatsiooni.