Gå til innhold

Anbefalte innlegg

Jeg har satt opp en com.sun.net.httpserver.HttpServer og har fått alt til å fungere perfekt.

 

Det er bare en ting jeg lurer på, og det er hvordan man bør legge inn HTML koden. Det ser veldig rotete ut å ha alt i en vanlig String, og det er heller ingen måte å se syntax.

 

Se bilde for tydelig eksempel

6cVZQNx.png

Lenke til kommentar
Videoannonse
Annonse

Hvorfor vil du vise en statisk nettside på denne måten? Kjappere vei til målet å bruke en webserver.

 

Det sagt, hva med å bare ha en html-fil, lese inn den som en string og så serve den?

Burde kanskje tydeliggjort at nettsiden skal være dynamisk, dette var bare et eksempel. Vurderte å legge det i en HTML fil, men da ble jeg svært usikker på en trygg måte å gjøre det sikkert hvis det skal være dynamisk kode noen steder.

Lenke til kommentar

Må du lage alt fra scratch? Det finnes løsninger for å blande dynamisk og statisk innhold fra før, i mange ulike varianter. Det første som slår meg på Java er JSP, men det er temmelig oldschool og ikke noe jeg ville giddet å lære meg i dag. Hva med et rammeverk som Play, Grails (med Groovy) e.l? Er ikke helt oppdatert i Java-verdenen, forøvrig, så mulig andre har bedre innspill, men anbefalingen om å vurdere noe annet enn noe du bygger fra grunnen av står.

Lenke til kommentar

Nå er det ikke helt slik man pleier å gjøre det, men for å være litt kostruktiv så bør du splitte ut html'en i en egen fil i hvert fall. Så kan du lese filen og returnere innholdet som en string. Fordelen er at du da kan teste html'en uten å restarte serveren din. Du kan bare åpne html-fila i en nettleser og se hvordan det ser ut.

  • Liker 1
Lenke til kommentar

Burde kanskje tydeliggjort at nettsiden skal være dynamisk, dette var bare et eksempel. Vurderte å legge det i en HTML fil, men da ble jeg svært usikker på en trygg måte å gjøre det sikkert hvis det skal være dynamisk kode noen steder.

Da bør du google deg fram til en tutorial. Dette er ikke måten å gjøre noe mer avansert enn en statisk html-side.

Lenke til kommentar

Nå er det ikke helt slik man pleier å gjøre det, men for å være litt kostruktiv så bør du splitte ut html'en i en egen fil i hvert fall. Så kan du lese filen og returnere innholdet som en string. Fordelen er at du da kan teste html'en uten å restarte serveren din. Du kan bare åpne html-fila i en nettleser og se hvordan det ser ut.

Godt poeng, blir tåpelig å restarte serveren. Kanskje jeg bare skal ta å lage en egen liten kodesnutt, noe ligende PHP.

For eksempel ved å putte dette i html filene: <?java etc.. etc.. ?>

og deretter sjekke html filene og behandle infoen før serveren sender de til klienten.

 

Burde vel gå ganske greit det? :p

Lenke til kommentar

Jeg har ikke satt opp en frontend server på årevis og vet ikke hva som er lettest for en uten alt for mye erfaring

 

Kanskje andre her som har en anbefaling?

 

PS: Jeg synes det er en morsom øvelse du har gjort og kan godt se at du har fått økt forståelse og kunnskap av den :)

Lenke til kommentar

Kanskje andre her som har en anbefaling?

 

 

 

Det som er mest rettfram, og lettest å finne ut av på google, er vel å sette opp Jetty eller Tomcat. Evt. i kombinasjon med Spring Boot, da får man mer på kjøpet, men det blir også mer avansert. Hvis man vil ha en flying start på noe mer moderne (klientside-gui); JHipster. Med tanke på utgangspunktet ville jeg nok lagt dette litt til side og begynt med kun Tomcat. Da får man vel også JSP-funksjonalitet. Det er jo litt utdatert, men antagelig det enkleste å begripe. 

Endret av quantum
Lenke til kommentar

Han har tenkt å klone JSP-konseptet. Det kan jo være en artig øvelse. Men helt meningsløst til alle praktiske formål. Det er ofte lurt å forklare hva man ønsker å oppnå når man stiller spørsmål her ...

Jeg slipper å bruke Tomcat, og kan hoste nettsiden direkte i applikasjonen i det minste da. 

Lenke til kommentar

Jeg slipper å bruke Tomcat, og kan hoste nettsiden direkte i applikasjonen i det minste da. 

 

Hva er fordelene med å "slippe" det og måtte lage alt fra scratch? Høres en smule tungvint ut, men igjen; hvis dette er et læringsprosjekt så gir det mening. Ellers ikke. Og så lenge formålet med det hele forblir ukjent er det ikke godt å gi noen råd ...

Endret av quantum
Lenke til kommentar

Eneste jeg har erfaring fra er vel Apache med PHP, men jeg ønsker å bruke Java istedet. Ønsker også å ha tasks som kjører hele tiden i bakgrunn og samarbeider direkte med koden.

Mulig jeg har misforstått hvordan Tomcat fungerer, men det er vel bare mulig å bruke Java for backend scripting og ikke mer kompliserte ting?

Lenke til kommentar

Ja, du har misforstått. Du kan kjøre så komplekse ting du bare vil på Tomcat, men Tomcat er en relativt enkel applikasjonsserver, så den støtter ikke nødvendigvis alt man ønsker å gjøre. Da er kanskje et klokt alternativ å bruke Tomcat i kombinasjon med et eller annet rammeverk som støtter resten av det man trenger. F.eks. TomEE eller Spring Boot. Eller en annen appserver som ikke bruker tomcat, feks. Wildfly (Eller Wildfly Swarm).

 

Hjulet er funnet opp, ingen grunn til å begynne helt på scratch hvis du skal lage noe som er litt mer avansert enn hello-world.

Lenke til kommentar

Du kan bruke java til så komliserte ting du bare måtte ønske. Hvilket annet språk mener du at du heller skulle bruke til kompliserte ting?

 

Jeg tror han bekymrer seg for at det er veldig begrenset hva han kan bruke Java til i en applikasjon som kjører på Tomcat. En applikasjon på Tomcat kjører i en webcontainer hvor visse regler gjelder, men dette er jo et kjøremiljø som er ment å gjøre det enklere å lage webapplikasjoner, ikke vanskeligere. Det er f.eks. fullt mulig å ha quartz i en webapp på tomcat og få kjørt bakgrunnsoppgaver. Eller man kan starte sine egne tråder hvis man er allergisk mot rammeverk.

 

Tomcat som webcontainer, spring for transaksjoner og hibernate for persistens er jo en veldig vanlig stack, alt sammen kjører som en app i Tomcat.

Endret av quantum
Lenke til kommentar

Valgte å lage en standalone Java applikasjon, og bruke Groovy scripting kode i HTML filene. Java applikasjonen leser HTML filene og konverterer det imellom <% og %> til Groovy kode og kjører koden i GroovyShell. Synes det ble en ryddig måte å gjøre det på, var bare litt arbeid jeg måtte gjøre på forhånd. Se eksempelbilde 

A1Hm4Wc.png

Endret av waremanu
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...