Avatar billede t_mons Nybegynder
08. juli 2003 - 14:24 Der er 16 kommentarer og
1 løsning

response.sendredirect problem

jeg har et problem med response.sendredirect..
Problemet består i at jeg i min bønne laver et response.sendredirect til en anden jsp side, men det der sker er at den side jeg ville til kommer bare nedenunder den side jeg kom fra, altså 2 jsp sider i browseren på en gang.. Mystisk.
Avatar billede arne_v Ekspert
08. juli 2003 - 14:30 #1
Det lyder mystisk.

Har du mulighed for at poste lidt forsimplet kode der kan
recreate problemet ?
Avatar billede t_mons Nybegynder
08. juli 2003 - 14:44 #2
jeg kan prøve, det er ikke min kode som laver redirect, det er bygget op på omkring et slags dotnet framework.. som generere jsp siden..

men siden ser således ud..
<%@page errorPage="TimeReg3Error.jsp" import="java.io.*" import="java.sql.*" import="java.text.*" import="java.util.*"%>
<%@page import="timereg3.beans.*" %>
<%@page import="timereg3.system.*" %>
<%@ include file="HeaderInclude.jsp" %>
<%@ page isThreadSafe="false" %>
<jsp:useBean id="webpage" class="timereg3.beans.SpecialPostBean2" scope="session" />
<jsp:useBean id="timesheet" class="timereg3.beans.TimesheetBean" scope="session" />
<jsp:useBean id="timelogger" class="timereg3.system.TRTimeLogger" scope="session" />
<%
    response.setBufferSize(500000); //dette har jeg sat ind

    webpage.setExternalData(credentials, dbfacade, timesheet);
    webpage.onPageLoad(response, request);
%> 

men det giver ikke meget mening kaldet i bønnen:

if (buttonAction.equals("timesheet"))
{
  int numberOfChanges = inputTable.getNumberOfChanges();
  if (numberOfChanges > 0)
  {
    scriptTag.enable(url_timesheet);
  }
  else
  {
    try
    {
    response.sendRedirect(url_timesheet);
    response.flushBuffer();
                           
    }
    catch (Exception e)
    {
      System.err.println(e);
    }
}
}

Jeg tror sku ikke det er til meget hjælp.. sorry
Avatar billede t_mons Nybegynder
08. juli 2003 - 14:45 #3
url_timesheet = "Timesheet.jsp"
Avatar billede t_mons Nybegynder
08. juli 2003 - 14:56 #4
men når jeg så trykker f5 så er det helt iorden.... ville bare gerne undgå manuelt at refreshe siden.
Avatar billede t_mons Nybegynder
08. juli 2003 - 15:06 #5
url'en er også rigtig i browseren !!! det er vildt mystisk
Avatar billede arne_v Ekspert
08. juli 2003 - 15:22 #6
Enig.
Avatar billede t_mons Nybegynder
08. juli 2003 - 15:46 #7
Hvordan tømmer / nulstiller bufferen ??
Avatar billede arne_v Ekspert
08. juli 2003 - 15:54 #8
Det der er mystisk er at mekanikken i sendRedirect er følgende:

browseren requester side1.jsp
serveren kører side1.jsp
side1.jsp redirecter til side2.jsp
serveren siger til browseren at den skal requeste side2.jsp
browseren requester side2.jsp
Avatar billede t_mons Nybegynder
08. juli 2003 - 15:58 #9
en redirect burde også tømme bufferen først, ikke ??? har prøvet med response.resetBuffer(); kan sagtens compilere, men tomcat'en kender ikke metoden når jeg afvikler programmet..
java.lang.NoSuchMethodError
    at timereg3.beans.SpecialPostBean2.onRoundTrip(SpecialPostBean2.java:101)
Avatar billede arne_v Ekspert
08. juli 2003 - 16:07 #10
1)  Det burde ikke gøre nogen forskel at resette bufferen, fordi som jeg
    forklarede ovenfor så skal næste side (side2.jsp ovenfor) hentes i en helt
    separat request.

2)  resetBuffer er ny i Servlet 2.3 specifikationen, så mit gæt er at
    dit development environment er J2EE 1.3 compliant (=indeholder Servlet 2.3)
    mens dit deployment environment kun er J2EE 1.2 compliant (=indeholder
    Servlet 2.2)

Lad mig gætte: WebSphere 4 ?
Avatar billede t_mons Nybegynder
08. juli 2003 - 16:11 #11
nej tomcat, men du har sikkert ret, er ikke helt fortrolig med tingene
Avatar billede arne_v Ekspert
08. juli 2003 - 16:17 #12
Tomcat ?

Version 3.et-eller-andet ??

(version 4.x understøtter Servlet 2.3)
Avatar billede t_mons Nybegynder
08. juli 2003 - 16:21 #13
version 3.2.1 - hmmm - jeg har ikke en anelse, hvad jeg skal gøre, så jeg må nok lukke spørgsmålet.
Avatar billede arne_v Ekspert
08. juli 2003 - 16:27 #14
Jeg er ihvertfald blank.

Men prøv da og lad det stå åben til imorgen.
Avatar billede disky Nybegynder
08. juli 2003 - 20:51 #15
Tomcat V3.x er kendt for at indeholde mange fejl.

Skift til Tomcat V4.x
Avatar billede arne_v Ekspert
05. august 2003 - 17:56 #16
Tid at lukke ?

Og et svar hvis du skulle synes at nogle af mine kommentarer har været noget værd.
Avatar billede t_mons Nybegynder
07. august 2003 - 12:54 #17
jeg lukker !!!!
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

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