Avatar billede cjessen Nybegynder
28. september 2001 - 14:10 Der er 8 kommentarer og
1 løsning

JSP - Tomcat og Apache

Jeg har et underligt problem med en JSP-side, som jeg har lavet via UltraDev.
Den pågældende side opdaterer et post i MySql og redirecte til en ny side.
Det går fint, når jeg kører Tomcat alene, men ikke når jeg kører Tomcat under Apache. Databasen opdateres, men  siden bliver stående, mens den side, der redirectes til, lægger sig nedenfor med noget Apache-tekst imellem. Først når jeg refresher siden, ser det ud, som det skal.
Avatar billede disky Nybegynder
28. september 2001 - 14:11 #1
hvordan redirecter du ?

respons.sendRedirect(\"http://www.jegskalgidig.dk\");

virker normalt fint
Avatar billede cjessen Nybegynder
28. september 2001 - 14:23 #2
Det var et godt spørgsmål - når det er UltraDev, der har lavet koden. Men jeg fandt det :) Der er en række variabler:

response.sendRedirect(response.encodeRedirectURL(MM_editRedirectUrl));

Avatar billede disky Nybegynder
28. september 2001 - 14:25 #3
ser fint nok ud.

Hvad er indholdet af MM_editRedirectUrl
Avatar billede cjessen Nybegynder
28. september 2001 - 14:47 #4
Der er to steder, den anvendes:

MM_editRedirectUrl = \"bio-admin.jsp\";

if (MM_editRedirectUrl.length() != 0 && request.getQueryString() != null) {
    MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf(\'?\') == -1)?\"?\":\"&\") + request.getQueryString();
  }

Og så hører der lige den her med, tror jeg:

// create the MM_keepURL string
if (request.getQueryString() != null) {
  MM_keepURL = \'&\' + request.getQueryString();
  for (int i=0; i < MM_removeList.length && MM_removeList[i].length() != 0; i++) {
  int start = MM_keepURL.indexOf(MM_removeList[i]) - 1;
    if (start >= 0 && MM_keepURL.charAt(start) == \'&\' &&
        MM_keepURL.charAt(start + MM_removeList[i].length() + 1) == \'=\') {
      int stop = MM_keepURL.indexOf(\'&\', start + 1);
      if (stop == -1) stop = MM_keepURL.length();
      MM_keepURL = MM_keepURL.substring(0,start) + MM_keepURL.substring(stop);
    }
  }
}
Avatar billede disky Nybegynder
28. september 2001 - 14:49 #5
eeww jeg hader ternary operatorer, det er besværlige at læse. Men pyt med det.

Få udskrevet MM_editRedirectUrl inden du redirecter
Avatar billede cjessen Nybegynder
28. september 2001 - 14:57 #6
For en begynder som jeg er det nærmest totalt ulæseligt - men OK - hvordan udskriver jeg?
Avatar billede disky Nybegynder
28. september 2001 - 14:59 #7
System.out.println(MM_editRedirectUrl);

og kig så i tomcat\'s logfile den hedder vist stdout.log eller noget lignende.

p.s.
Tag og brug en langt bedre java engine som f.eks. Resin fra www.caucho.com der er dit problem også væk
Avatar billede cjessen Nybegynder
28. september 2001 - 15:20 #8
Dit p.s. er nok svaret - jeg prøver.
Avatar billede disky Nybegynder
28. september 2001 - 15:21 #9
jeg bruger ihvertefalde tit sendRedirect() med resin og har aldrig oplevet dit problem.

Tomcat er godt nok reference implementationen men en dårlig og langsom en efter min mening.

Hvis det ikke hjælper spørger du bare igen, her i tråden

eller på icq #1413069
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