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