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

    [Servlet-java] Problema con hashtable e cicli if

    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:
    String 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 { ...........
    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 solleva
    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)
    Suggerimenti???? Grazie.

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    con un semplice cast non riesci a convertire null a "null"
    devi fare
    if (controllo == null) {

  3. #3
    Vero... adesso infatti funziona. cmq pensavo che == valesse solo per int e bool. Bene, non si smette mai di imparare...
    Grazie mille. Tutto ok, posso continuare con il mio sito . Ciao 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.