Overzicht

Java Vanilla is een puur Java-project dat alleen de standaardbibliotheek en een lichtgewicht HTTP-server gebruikt. Het biedt een schoon startpunt voor het bouwen van webapplicaties en REST API's zonder framework-overhead.

Voordat je begint
Zorg ervoor dat je dashboard geopend is - je hebt de daar getoonde Git-inloggegevens nodig. Dit sjabloon bevat een lichtgewicht HTTP-server, JDBC voor databasetoegang en Gson voor JSON-verwerking.

Snelstart

1

Repository aanmaken vanuit sjabloon

Ga in je dashboard naar het tabblad Tools & Deployment. Klik op de knop "New Repository", selecteer het Java Vanilla-sjabloon uit het dropdownmenu, voer een repository-naam en subdomein in en klik vervolgens op "Create Repository".

2

Je repository klonen

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

Het project bouwen

mvn clean package
4

De applicatie uitvoeren

java -jar target/app.jar

De server draait standaard op http://localhost:8080.

5

Je wijzigingen pushen

git add .
git commit -m "Initial setup"
git push origin main
Elke push naar Git implementeert automatisch je applicatie. Bekijk je Module Work URL op het dashboard om je live site te zien.

Lokale ontwikkeling met Docker

Als je geen Java of Maven lokaal hebt geïnstalleerd, kun je Docker gebruiken om je project te bouwen en uit te voeren.

Wat is Docker?
Docker maakt geïsoleerde "containers" met alle software die je nodig hebt (Java, Maven) zonder ze op je computer te installeren.

Commando's uitvoeren met Docker

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

# Run the application
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/app.jar

Projectstructuur

├── src/
│   └── main/
│       └── java/
│           └── com/example/
│               ├── App.java              # Startpunt & HTTP-server
│               ├── handlers/             # Request-handlers
│               └── models/               # Datamodellen
├── pom.xml                               # Maven-afhankelijkheden
└── Dockerfile                            # Docker-configuratie
        

Veelvoorkomende taken

Een HTTP-handler aanmaken

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());
        }
    }
}

Database-verbinding met JDBC

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();

Handige commando's

mvn clean package Het project bouwen
java -jar target/app.jar De applicatie uitvoeren
mvn dependency:tree Afhankelijkhedenboom tonen

Probleemoplossing

java.sql.SQLException: Access denied

Oplossing: Controleer of je JDBC-verbindings-URL, gebruikersnaam en wachtwoord overeenkomen met de inloggegevens uit je dashboard.

Port 8080 already in use

Oplossing: Wijzig de poort in je App.java of stop het andere proces dat poort 8080 gebruikt.

ClassNotFoundException for JDBC driver

Oplossing: Zorg ervoor dat de MySQL JDBC-driver is opgenomen in je pom.xml-afhankelijkheden en voer mvn clean package opnieuw uit.

Implementatie-workflow

Codewijziging git push mvn package Live!
Voor meer informatie kun je de officiële Java-documentatie raadplegen.