Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problemi con jsp e tomcat

    Salve a tutti, come da topic ho dei problemi con le jsp. Nel dettaglio sto facendo la parte iniziale ovvero la login di un sito web dinamico... La cosa che mi accade provando e riprovando più volte è che una volta loggato con username e password mi inoltra automaticamente alla pagina di errore: error.jsp....

    Vi posto l'error report:

    codice:
    type Exception report
    
    message
    
    description The server encountered an internal error () that prevented it from fulfilling this request.
    
    exception
    
    org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    controllo.Controller.doPost(Controller.java:74)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
    root cause
    
    java.lang.NullPointerException
    org.apache.jsp.error_jsp._jspService(org.apache.jsp.error_jsp:58)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    controllo.Controller.doPost(Controller.java:74)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
    Posso capire tranquillamente che l'errore sia forse nella servlet Controller?
    Per sicurezza vi inoltro anche la servlet:

    codice:
    package controllo;
    
    import java.io.*;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.logging.Logger;
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    import action.Azione;
    
    public class Controller extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    
    private static final long serialVersionUID = 2537606208886487633L;
    
    private Map<String, String> comando2azione;
    private Map<String, String> esito2pagina;
    
    public void init() {
    this.comando2azione = new HashMap<String, String>();
    this.comando2azione.put("login","action.AzioneLogin");
    this.comando2azione.put("homeAdmin","action.AzioneHomeAdmin");
    this.comando2azione.put("AdminAmministra","action.AzioneAdminAmministra");
    this.comando2azione.put("RicercaAnagrafica","action.AzioneRicercaAnagrafica");
    this.comando2azione.put("logout","action.AzioneLogout");
    this.esito2pagina= new HashMap<String, String>();
    this.esito2pagina.put("errore","/error.jsp");
    this.esito2pagina.put("loginKO","/fallimento.jsp");
    this.esito2pagina.put("loginOK","/login.jsp");
    this.esito2pagina.put("logoutOK","/homePageAdmin.jsp");
    this.esito2pagina.put("amministra","/homePageAdmin.jsp");
    this.esito2pagina.put("testa","/testa.jsp");//pagina che si modifica al variare dell'utente
    this.esito2pagina.put("navigatore","/navigatore.jsp");//pagina che si modifica al variare delle funzioni dell'utente..ex.:navigatore di amministra: anagrafica, utenti, commesse, ordini, clienti,qualifiche, motivi
    this.esito2pagina.put("ricercaAnagrafica","/ricercaAnagrafica.jsp");
    this.esito2pagina.put("nuovaPersona","/dettaglioAnagrafica.jsp");
    this.esito2pagina.put("dettaglioPersona","/dettaglioPersona.jsp");
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    this.doPost(request, response);
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Logger logger = Logger.getLogger("controllo.Controller");
    String prossimaPagina = null;
    String comando = this.leggiComando(request.getServletPath());
    logger.info("comando: " + comando);
    String nomeAzione = this.comando2azione.get(comando);
    logger.info("azione: " + nomeAzione);
    if (nomeAzione==null) {
    prossimaPagina = "/error.jsp";
    }
    else
    {
    Azione azione = null;
    try {
    azione = (Azione)Class.forName(nomeAzione).newInstance();
    String esitoAzione = azione.esegui(request);
    prossimaPagina = this.esito2pagina.get(esitoAzione);
    }
    catch (InstantiationException e) {
    prossimaPagina = "/error.jsp";
    }
    catch (IllegalAccessException e) {
    prossimaPagina = "/error.jsp";
    }
    catch (ClassNotFoundException e) {
    prossimaPagina = "/error.jsp";
    }
    }
    ServletContext application = getServletContext();
    RequestDispatcher rd = application.getRequestDispatcher(prossimaPagina);
    rd.forward(request, response);
    }
    
    private String leggiComando(String servletPath) {
    StringBuffer str = new StringBuffer(servletPath);
    return str.substring(1,str.lastIndexOf(".do"));
    }
    }
    sarei grato a tutti in qualche aiuto...
    ciao

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    JSP e tutto il mondo Java hanno un forum dedicato, chiamato appunto Java.

    Ti sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Nello stack trace è specificato che si verifica una NullPointerException nel metodo doPost (riga 74). Dovresti andare in debug e verificare quale degli oggetti è null e perchè.
    Al mio segnale... scatenate l'inferno!

  4. #4
    purtroppo nn riesco a focalizzare l'errore...in quanto il processo si blocca su questa riga:

    codice:
    rd.forward(request, response);
    non saprei cosa fare....

  5. #5
    Beh... magari è proprio lì il problema... rd potrebbe essere null e quindi richiamando il metodo forward sull'oggetto null scatta l'eccezione.
    Al mio segnale... scatenate l'inferno!

  6. #6
    ho individuato il problema ma ho problemi a risoverlo.....sta nell'instanza dell'oggetto di tipo AzioneLogin()......quindi azione=(Azione) Class.forName(nomeAzione).newIstance()...
    qualcuno ha qualche soluzione...???grazie ancora...

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.