/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
"Arbejder - vent venligst" skærm
Fra : Kent Skovgaard


Dato : 31-03-01 11:19

Jeg har lavet en servlet, der på baggrund af nogle brugerindtastede
oplysninger, sætter en analyse igang. Analysen sættes i gang ved at jeg inde
fra servletten starter et eksternt program, der foretager analysen. Imens
det eksterne program afvikles venter servletten. Når programmet er færdigt
udskriver servletten resultatet til brugerens browser. Servletten og det
eksterne program kommunikerer gennem simple tekstfiler. Jeg anvender kun én
servlet.

Da det kan tage noget tid for det eksterne program at foretage analysen,
kunne jeg godt tænke mig at servletten skrev til brugerens skærm noget i
stil med "Arbejder - vent venligst". Når analysen er færdig, skal det
resultat skærmbilledet vises automatisk. Jeg er i tvivl om, hvardan jeg skal
gribe det an. Jeg har forsøgt, men det er som om servletten ikke kan skrive
til browseren over 2 omgange.

Håber nogen kan give mig et praj. På forhånd tak.

Mvh
Kent Skovgaard





 
 
Kasper Nielsen (31-03-2001)
Kommentar
Fra : Kasper Nielsen


Dato : 31-03-01 11:38


"Kent Skovgaard" <kesedu@mail1.stofanet.dk> wrote in message
news:V8ix6.359$ph5.30415@news101.telia.com...
> Jeg har lavet en servlet, der på baggrund af nogle brugerindtastede
> oplysninger, sætter en analyse igang. Analysen sættes i gang ved at jeg
inde
> fra servletten starter et eksternt program, der foretager analysen. Imens
> det eksterne program afvikles venter servletten. Når programmet er færdigt
> udskriver servletten resultatet til brugerens browser. Servletten og det
> eksterne program kommunikerer gennem simple tekstfiler. Jeg anvender kun
én
> servlet.
>
> Da det kan tage noget tid for det eksterne program at foretage analysen,
> kunne jeg godt tænke mig at servletten skrev til brugerens skærm noget i
> stil med "Arbejder - vent venligst". Når analysen er færdig, skal det
> resultat skærmbilledet vises automatisk. Jeg er i tvivl om, hvardan jeg
skal
> gribe det an. Jeg har forsøgt, men det er som om servletten ikke kan
skrive
> til browseren over 2 omgange.

Sådan fungere HTTP protokollen ikke.
En HTTP-agent (oftest en browser) laver et request til HTTP-server som så
sender et reponse.
Så det er ikke muligt at sende f.eks. 2 responds.

En måde du kunne løse det på, var at bruge et refreshtag i din html,
den sender så et request hvert 5 sekund, hvis beregningen er færdig viser
din servlet resultat-siden, ellers sender den 'Arbejder - vent venligst'
siden tilbage igen (med et 5 sekunders refresh tag).


- Kasper



Niels Ull Harremoës (31-03-2001)
Kommentar
Fra : Niels Ull Harremoës


Dato : 31-03-01 21:47

Den endnu simplere løsning, hvis de indtastede data ikke er for komplekse og
kan kodes i en url:

Send de indtastede data til en simpel servlet eller JSP side, der bare
skriver "Arbejder - vent venligst" og så automatisk forwarder brugeren til
den egentlige beregnings servlet.

Hvis du er lidt fix til javascript kan du muligvis gøre det helt i
javascript og spare en tur til serveren, fx.
(ikke testet, skal rettes til)

function onSubmit() {
var theNumber = document.forms[0].numberfield.value; // numberfield er
dit felt
document.open('text/html');
document.writeln('<html><body><h1>Vent venligst - arbejder!</h1>');
document.writeln('<' +
'script>document.location=\"/computeServlet?number=' + theNumber+'";')
document.writeln('<' + '/script>');
document.writeln('</body></html>');
return false;
}




Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste