Allora, premetto che di java non sono molto esperto.... per scuola devo fare in una servlet un controllo nome utente e password in chiaro:
quindi io carico un file esterno in una hashtable e fin qui tutto bene (anche perché controllo la hashtable e tutti i valori ci sono, giusti). Ora, il mio problema è in questa parte di codice:
h.get(name) restituisce null se la chiave non esiste nella hashtable lo trasformo in String e lo metto dentro controllo(se stampo controllo è tutto regolare). Se io metto il nome utente giusto e la password errata (secondo ciclo if) il codice funziona perfettamente e mi stampa la pagina con "Password errata" ma se sbaglio nome utente invece di stamparmi la pagina mi stampa una pagina con un Exception report e questa è l'eccezione che mi sollevaString name = request.getParameter("name");
String passw = request.getParameter("passw");
String controllo = (String)(h.get(name));
if (controllo.equals("null")){
uscita = " <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \" http://www.w3.org/TR/html4/strict.dtd\">"
+ "<h1>Nome utente inesistente</h1>" ";
response.setContentType ("text/html");
PrintWriter out = response.getWriter();
out.println(uscita);
out.close();
}
else if (!(controllo.equals(passw))){
uscita = " <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \" http://www.w3.org/TR/html4/strict.dtd\">"
+ "<h1>Password errata</h1>";
response.setContentType ("text/html");
PrintWriter out = response.getWriter();
out.println(uscita);
out.close();
}
else { ...........
Suggerimenti???? Grazie.exception
java.lang.NullPointerException
LoginServlet.processRequest(LoginServlet.java:69)
LoginServlet.doGet(LoginServlet.java:135)
javax.servlet.http.HttpServlet.service(HttpServlet .java:689)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:362)