Avatar billede iznurk Nybegynder
04. september 2003 - 09:26 Der er 10 kommentarer og
1 løsning

håndtere en POST i java

Hej Eksperter.

Jeg har lavet en lille "webserver", som bruger min browser som klient. Jeg skal modtage indholdet fra et HTML TextArea, men kan ikke få det til at virke, uden at skulle gennemløbe hele indholdet flere gange (håndtere CRLF, æøå osv.). Mit gæt er noget med at min "webserver" skal håndtere en "POST" fra browseren, men jeg ved ikke, hvordan det skal gøres. Kan nogen hælpe mig ?
Avatar billede arne_v Ekspert
04. september 2003 - 09:29 #1
Bruger du SocketServer direkte ?

Grundliggende er forskellen på GET og POST ikke ret stor !

GET er:

GET /noget?f1=v1&f2=v2 HTTP/1.0<CR><LF>
<CR><LF>

POST er:

POST /noget HTTP/1.0<CR><LF>
<CR><LF>
f1=v1&f2=v2<CR><LF>
Avatar billede arne_v Ekspert
04. september 2003 - 09:31 #2
Men du skal naturligvis have styr på diverse encoding af special
tegn.

Du har ikke overvejet at bruge en servlet container og skrive en
servlet ?

En servlet container vil bruge 10 x så meget memory, men du kan
skrive server side koden på 5 minutter.
Avatar billede iznurk Nybegynder
04. september 2003 - 09:32 #3
;o) Det er lige netop mit problem. Jeg må ikke bruge en servlet container, men skal håndtere det via en socket server.
Avatar billede iznurk Nybegynder
04. september 2003 - 09:34 #4
har jeg ikke ret i, at hvis jeg bruger en "GET", så er der begrænsning på hvor mange karakterer, der må sendes i URL'en ?
Avatar billede Slettet bruger
04. september 2003 - 09:47 #5
Her er et citat fra en flok slides til et kursus på datalogi jeg fulgte sidste år:

http://www.brics.dk/~amoeller/WWW/javaweb/forms.html


GET vs. POST?

GET with hardwired querystring can be used in links (<a href="...">...</a>)  :-)
GET has server-specific limits on input lengths  :-(
GET querystrings usually end in the server logs  :-(
GET is (in principle) idempotent - results are cached unless explicitly "expired"
GET is the default for form :-(
Avatar billede iznurk Nybegynder
04. september 2003 - 10:45 #6
hmmm, det ser ud til, at hvis jeg vil bruge "POST", så skal der være et .cgi script (eller tilsvarende) til at håndtere det, og hvis jeg bruger "GET", så er jeg begrænset af længden på url'en. Nå, så må jeg jo selv til at decode det hele...
Avatar billede iznurk Nybegynder
04. september 2003 - 10:45 #7
ups.. decode det hele med "GET"
Avatar billede arne_v Ekspert
04. september 2003 - 11:31 #8
Nej.

Du kan lige så godt sende en POST som en GET til dit program.

Browseren sender nogle linier til port 80 på din server.

Med en normal web-server så giver det kun mening at GET'e statiske
HTML dokumenter mens scripts kan både GET'es og POST'es.

Men med et special server program så kan begge bruges.
Avatar billede iznurk Nybegynder
04. september 2003 - 13:54 #9
okiedokie. Men jeg skal stadigvæk selv decode special characters ?
Avatar billede arne_v Ekspert
04. september 2003 - 14:31 #10
Ja.
Avatar billede iznurk Nybegynder
04. september 2003 - 14:51 #11
OK. Jeg takker for hjælpen...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester