08. juli 2010 - 16:39Der er
13 kommentarer og 1 løsning
Redirecte gennem javascript
Jeg har en servlet, som sendes html-til klienten. Alt virker fint i nogle tilfælde. For alt afhængig af, hvad servletten laver af beregninger, så bliver der redirected til 2 forskellige jsp-sider.
Den ene jsp-side virker fint, når der redirectes til den. Men den anden jsp-side virker ikke. Begge jsp-sider benytter en database med opslag heri, for at kunne generere siden.
Den aktuelle kode er: out.print("var targetURL=\"side.jsp\"\n"); out.print("window.location=targetURL\n");
Når javascript redirecter til anden jsp-side, så virker det som sagt godt. Hvis jeg kører problem-jsp-siden manuelt, så virker den fint nok (det er et større projekt, som har kørt i lang tid. Det er kun javascripten som giver fejl).
Under kørsel gennem javascript kommer fejlen: " HTTP Status 500 -
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
Computerworlds Cloud & AI Festival tager konsekvensen af sin egen succes
Slettet bruger
08. juli 2010 - 17:46#1
NullPointerException - har næppe noget med javascript-redirection at gøre... - udover måske, at "den anden servlet" forventer nogle parametre i URL'en ?
Ja, det var også sådan noget, der undrede mig. Jeg antog, at javascript sendte nogle skjulte informationer med. Men den anden side forventer ikke nogle parametre, da det er en begyndelses-side.
Men for at gøre forvirringen endnu større, så her til morgen begynder den anden side også at producere denne null-pointer-exception, når jeg prøver at tilgå den direkte udenom javascripten. Det gjorden den ikke i går. Eller for en uge siden....
Lidt søgning på google efter "maps.gstatic.com" foreslog, at browser-data slettes. Så jeg genstartede og slettede browser-data, og nu virker det tilsyneladende. Så hvis du lige lægger et svar T4NK3R, så deler vi i døren ?
...selvom hvis jeg redirecter til jsp-siden gennem javascript, så virker den ikke. Men hvis jeg åbner jsp-siden direkte fra NEtbeans, så virker den godt nok...
Synes godt om
Slettet bruger
09. juli 2010 - 10:29#6
Og hvis du åbner direkte fra browseren.. ? - to gange ?
Løsningen i dit link er: "1) is that you are attempting to access it across requests, which won't work.". Jeg kan ikke umiddelbart se, hvordan det kan oversættes til min applikation?
Men for lige at gøre det lidt mere kompliceret, så når der redirectes i min applikation, så giver det en HTTP Status 500 - nullpointerexception. Men hvis jeg så i samme browser-vindue går op i adresselinien, og blot trykker på return, så kommer siden fint frem...?
Synes godt om
Slettet bruger
09. juli 2010 - 11:10#8
Hm... Lyder som en opgave det ville være rigtigt dejlig af få løst på en fredag!
Ku' det evt. have noget med http-referrer at gøre ?
- eller noget (andet) header-info som får den til at køre en anden vej igennem serveletten ?
Jeg tror faktisk, at dit forslag om request.getHeader("referer")!=null vil gøre en forskel. Jeg har nemlig et check på det inde i koden, for at registrere, om det er et postback. Og hvis det er det, så bliver siden ikke behandlet som ved initialization. Så jeg skal vel sætte request.getHeader("referer")==null eller checke, om request.getHeader("referer") peger på den login-side, som man kommer fra. (?)
Hmm, jeg har fået den til at gå forbi det stykke kode, som genererede nullpointerexceptionen - tilsyneladende. Nu bliver siden blot ved med at load (i processlinien står der: "læst maps.gstatic.com"), og søgning på google har tidligere fortalt mig, at det kan fixes ved at slette alle browserdata. Så det må jeg gøre. Jeg er ikke sikker på, at dette er en acceptabel løsning.
Men nu må spørgsmålet sættes på standby, for nu vil min arbejdsgiver ikke have mig på arbejde mere i dag. Og så står den på ferie i ca. 2 uger. Men tak for din hjælp indtil videre :-)
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.