Skip to main content
Dat 2. semester
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Javalin tutorial

Opsætning af Javalin

I denne tutorial skal du oprette et Java-projekt med Maven og Javalin.

Når du er færdig, vil du have en lille webserver, som kan modtage HTTP-requests og sende svar tilbage.

Vi bygger videre på projektet senere på semesteret.

1. Opret et nyt Maven-projekt

Opret et nyt projekt i IntelliJ.

Vælg:

  • Java (selvfølgelig..)
  • Build system: Maven
  • JDK 17 eller nyere

Giv projektet et passende navn.

Når projektet er oprettet, har IntelliJ blandt andet oprettet:

src
└── main
    └── java
    └── resources

test
└── java      

Bemærk at main og java ikke er pakker, som I kender dem, men standardmapper som Maven opretter. Maven betragter java som vores root for kildekode.

Du skulle også gerne have en pom.xml-fil, som vi skal konfigurere nu.

2. Maven og pom.xml

Maven hjælper os med at bygge vores Java-projekt og holde styr på de biblioteker, som projektet bruger.

I pom.xml beskriver vi blandt andet projektets dependencies.

Vi skal bruge Javalin, så tilføj følgende dependency til <dependencies>:

<dependencies>
    <dependency>
        <groupId>io.javalin</groupId>
        <artifactId>javalin</artifactId>
        <version>7.0.0</version>
    </dependency>
</dependencies>

Maven henter derefter Javalin og de biblioteker, Javalin selv er afhængig af. Du skal muligvis lige opdatere Maven ved at klikke på det lille m øverst i højre hjørne af filen.

Du behøver ikke kunne forstå hele pom.xml endnu. Lige nu er det vigtigste, at du ved, at Maven bruger filen til at beskrive projektet og dets dependencies.

3. Opret Main

Opret en klasse Main

Skriv:

import io.javalin.Javalin;

public class Main {

    public static void main(String[] args) {

        var app = Javalin.create(config -> {
            config.routes.get("/", ctx -> ctx.result("Hej verden"));
        }).start(7070);
    }
}

Start programmet.

Hvis alt er gået godt, kan du se i konsollen, at Javalin er startet.

4. Besøg din webserver

Åbn en browser og gå til:

http://localhost:7070/

Du skulle gerne se:

Hej verden

Tillykke. Du har nu en Java-webserver, der kan modtage en HTTP-request og sende et svar tilbage.

Det er ikke så meget kode, vel?

Men der foregår faktisk en del.

Browser
   │ GET /
Javalin
   │ kør denne kode
ctx.result("Hej verden")
   │ HTTP response
Browser

Vi kommer til at undersøge, hvad der foregår her, når vi arbejder videre med Javalin.

5. Prøv selv

Lav nu nogle flere endpoints.

Start med at tilføje:

config.routes.get("/hello", ctx -> ctx.result("Hello!"));

inde i create().

Prøv derefter:

http://localhost:7070/hello

Lav selv mindst to endpoints mere.

For eksempel:

/about
/contact
/test

Hvert endpoint skal returnere en tekst, som du selv vælger.

Eksperimentér

Prøv også at ændre teksten i et endpoint.

Hvad sker der, hvis du skriver:

config.routes.get("/", ctx -> ctx.result("Dette er min webserver"));

Hvad skal du gøre for at se ændringen i browseren?

Og hvad sker der hvis du skriver localhost:7070/somepage (eller en anden URL, som du ikke har oprettet et endpoint til) i browseren?

6. Stop serveren

Når du er færdig, skal du stoppe programmet i IntelliJ.

Serveren kører kun, mens dit Java-program kører.

Når programmet stoppes, lytter der ikke længere en Javalin-server på port 7070.


Det har du nu

Du har:

  • oprettet et Maven-projekt
  • tilføjet Javalin som dependency
  • startet en webserver på port 7070
  • oprettet endpoints
  • modtaget GET-requests
  • sendt responses tilbage til browseren