Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    22

    problemi response.sendRedirect

    salve a tutti
    quando chiamo la response.sendRedirect viene lanciata l' eccezione
    java.lang.IllegalStateException
    cosa vuol dire?

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051

    Re: problemi response.sendRedirect

    Originariamente inviato da Katia82
    salve a tutti
    quando chiamo la response.sendRedirect viene lanciata l' eccezione
    java.lang.IllegalStateException
    cosa vuol dire?
    Che stai sbagliando qualcosa...
    L'eccezione non dice nient'altro?
    Dove si trova l'istruzione? jsp, servlet...
    E' possibile avere un po' di codice? Da queste parti ne vanno golosi...
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    22
    hai ragione, allora ho due file jsp

    carica.jsp:
    codice:
    <%@ page language="java" %>
     <%@page import="java.io.File" %>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="IT">
    <head>
    <title>carica</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
     <%! String file="";%>
    <%
    out.write("File richiesto: "+request.getParameter("nome"));
    String isDati = request.getParameter("dati");
    if(!(isDati == null) && !isDati.equals("") && !isDati.equals("null"))
    {
      String ap="";
       file=request.getParameter("file");
         ap = session.getServletContext().getRealPath("WEB-INF/miacartella/
         File f = new File (ap);
        String[] files = f.list();
        String stringa=""; 
        for (int i = 0; i < files.length; i++)
        {
                  stringa=stringa+"#"+files[i];
             }
        }
    
        session.setAttribute("files", stringa);
        response.sendRedirect("menu.jsp");
    }
    
    String nome=request.getParameter("nome");
    if ((!nome.equals("")) && (!file.equals("null"))){
    if (file.equals("1.jsp"))
       response.sendRedirect("1.jsp");  }%>
    
    
    Indietro
    </body>
    </html>
    e menu.jsp:

    codice:
    <%@ page language="java" %>
      <%@page import="java.util.List" %>
      <%@page import="java.util.ArrayList" %>
    <head>
    <title>menu</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <%! List lista= new ArrayList() ;%>
       <%
    
        if(!(session.getAttribute("files")==null))
            {
    
            String Stringa=(String)session.getAttribute("files");
             String[] A= StringaConNomi.split("#");
             for (int x=1;x<A.length;x++) {
                 lista.add(A[x]);
                session.removeAttribute("files");
           }
    }
        %>
    <h2>MENU </h2>
    <form method="post" action="carica.jsp">
    <fieldset>
    <legend>Scelta file</legend>
    
    
    
    
    
    
    <label for="Tipofile">Tipo File: </label>
    <select name="file" id="">
    <option value="file" selected>Seleziona il file </option>
    <option value="1.jsp" >f1</option>
    <option value="2.jsp">f2</option>
    <option value="3.jsp">f3</option>
    
    <input type="submit" value="Carica dati" name="dati">
    </select>
    
    
    
    
    <label for="nome"> nomi dei file: </label>
    <select name="nome" id="nome">
     <%
     for (int x=0;x<lista.size();x++) { %>
        <option value=<%=lista.get(x)%>>"<%=lista.get(x)%>" </option>
    <%
    lista.clear();
    }
     %>
    
    </select>
    
    <input type="submit" value="Carica pagina" name="invia">
    </fieldset>
    </form>
    </body>
    </html>
    allora in menu creo 2 select nel primo mi chiede il tipo di file e nel secondo i nomi che mi ricavo dalla stringa passata da carica una volta premuto il tasto carica dati...tutto ok
    ora quando premo carica pagina mi lancia l'eccezione
    ho sostituito la sendRedirect con 2 print che mi stampano sia il file che il nome e lo fa

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    22
    in realtà la response.sendRedirect che dovrei utilizzare è
    response.sendRedirect(file+"?nome="+nome);
    poichè mi serve il nome in 1.jsp
    ma dà lo stesso problema

  5. #5
    Posta anche lo stacktrace dell'eccezione
    Al mio segnale... scatenate l'inferno!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    22
    codice:
    exception 
    
    org.apache.jasper.JasperException: An exception occurred processing JSP page /caricaPagina.jsp at line 54
    
    53: if (file.equals("1.jsp"))
    54:      response.sendRedirect("1.jsp");
    
    
    Stacktrace:
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    
    
    root cause 
    
    java.lang.IllegalStateException
    	org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
    	org.apache.jsp.caricaPagina_jsp._jspService(caricaPagina_jsp.java:105)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


    Dimenticavo di dirvi che quando inserisco la sendRedirect parte subito la pagine di errore senza nemmeno caricare nel combo i nomi dei file

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    22
    ho risolto...sbagliavo il controllo prima della send
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.