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

Send HTML fra Java

Indtil nu har vi sendt almindelig tekst tilbage fra vores Javalin-server.

Nu skal serveren sende noget tilbage, som browseren kan genkende som HTML.

1. Send HTML

Lav en route:

 config.routes.get("/hellohtml", ctx ->
                    ctx.html("""
                        <h1>Hello fra Java!</h1>
                        <p>Denne tekst er sendt fra vores Javalin-server.</p>
                    """));

(læg evt koden ned i en metode, så din routing ikke bliver for rodet)

Start serveren og gå til:

http://localhost:7070/hellohtml

Hvad sker der?

Sammenlign med en route, hvor du bruger:

ctx.result(...)

Hvad er forskellen?

2. Lav din egen lille webside

Ret HTML’en, så siden indeholder:

  • en overskrift
  • mindst ét afsnit
  • en liste med mindst tre punkter
  • et link

Du kan fx tage udgangspunkt i:

<h1>Min side</h1>
<p>Her er noget tekst.</p>

<ul>
    <li>Java</li>
    <li>Javalin</li>
    <li>HTTP</li>
</ul>

<a href="https://example.com">Et link</a>

Prøv også at bruge nogle af de HTML-tags, du kender, fx:

<strong>
<em>
<hr>

Genindlæs siden.

Kan du se, at browseren fortolker HTML’en?

3. Find HTML’en i Developer Tools

I den tidligere opgave undersøgte du requests og responses.

Nu skal du bruge Developer Tools igen.

Åbn Network, genindlæs siden og find requesten til:

/hello

Klik på requesten og find Response.

Kan du finde den HTML, som du lige har skrevet i Java-koden?

Sammenlign response med den HTML, du sendte fra Javalin.

Er det den samme?

5. Undersøg Content-Type

Find Content-Type under response headers.

Hvad står der?

Hvorfor tror du, serveren fortæller browseren, hvilken type indhold den sender?

Prøv nu at ændre:

ctx.html(...)

til:

ctx.result(...)

uden at ændre selve HTML’en.

Genindlæs siden.

Hvad er forskellen?

6. Fra Java til webside

Prøv med dine egne ord at forklare denne kæde:

Java
Javalin
HTTP response
HTML
Browser
Webside

Hvor i kæden bliver HTML’en lavet?

Hvor i kæden bliver HTML’en fortolket?