Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [JSP] Problema Log-In

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    3

    [JSP] Problema Log-In

    Ciao ragazzi avrei un problema con un log-in realizzato tramite jsp.
    Dopo aver inserito nella mia pagina html user e password , tramite un bottone di submit invio i dati della mia form ad un'altra pagina jsp (login.jsp) con il compito di connettersi al database, controllare se l'utente è presente e se i dati coincidono e stampare benvenuto nomeutente! di colore verde se stiamo considerando un amministratore (avrà a nella colonna della tabella utente tipo) e di colore rosso se stiamo considerando un utente normale. Quando lo vado a lanciare con apache al momento del passaggio della form a login.jsp mi da il seguente problema:

    codice:
    type Exception report
    message java.lang.NullPointerException
    description The server encountered an internal error that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: java.lang.NullPointerExceptio n 
        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    root cause
    java.lang.NullPointerException
        org.apache.jsp.login_jsp._jspService(login_jsp.java:104)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    note The full stack trace of the root cause is available in the Apache Tomcat/7.0.42 logs.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    3
    Ecco quanto ho fatto invece nella mia pagina jsp di log-in:

    codice:
    <body>
            <%
                String nomutente = request.getParameter("r");
                String pass = request.getParameter("s");            
                Connection connection = null;
                try {
    
    
                    Class.forName(DRIVER).newInstance();
                } catch (ClassNotFoundException e) {
                    System.out.println("Where is your MySQL JDBC Driver?");
    
    
                }
                System.out.println("MySQL JDBC Driver Registered!");
                try {
                    connection = DriverManager.getConnection(db, "root", "");
                } catch (SQLException e) {
                    System.out.println("Connection Failed! Check output console");
                }
    
    
                if (connection != null) {
                    System.out.println("You made it, take control your database now!");
                } else {
                    System.out.println("Failed to make connection!");
    
    
                }
                
                String query = "SELECT * from utenti where user=? and password=? ";
                try {
                    PreparedStatement pstm = connection.prepareStatement(query);
                    pstm.setString(1, nomutente);
                    pstm.setString(2, pass);
                    ResultSet rs = pstm.executeQuery();
                    while (!rs.next()) {
                        if (nomutente.compareTo(rs.getString(1))==0) {
                            if (rs.getString(3) == "a") {%>
            <h1 style="color: green">Benvenuto <%rs.getString(1); %> </h1>
            <%} else {%>
            <h1 style="color: red "> Benvenuto <%rs.getString(1); %> </h1>   
            <%}
            } else {
                out.println("<h1><strong>LogIn errato--->RITORNO PAGINA LOGIN");
            %>
            <a href="index.jsp">Pagina log-in</a>
            <%
                            }
    
    
                        }
    
    
                    }
                catch (SQLException ex){
                    
                    out.println("<h1>Errore</h1>");
                          }
            %>
        </body>
    </html>


    Ci tengo a precisare che sono un neofita della programmazione web, non trattatemi troppo male
    Ultima modifica di av78; 23-11-2013 a 10:53

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    3
    <%! String DRIVER = "com.mysql.jdbc.Driver";
    String db = "jdbc:mysql://localhost:3306/user";%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Result Page</title>
    </head>

    Mi sono perso la prima parte, non me la faceva inserire, mi dava un messaggio di errore post denied per troppi url presenti

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da av78 Visualizza il messaggio
    Quando lo vado a lanciare con apache al momento del passaggio della form a login.jsp mi da il seguente problema:

    codice:
    type Exception report
    message java.lang.NullPointerException
    description The server encountered an internal error that prevented it from fulfilling this request.
    Innanzitutto hai verificato dai log stampati su System.out se ci sono problemi? Il punto è che nel tuo codice anche se ci sono problemi, va comunque sempre avanti. Se il driver non lo trova, certo stampi un messaggio ma l'esecuzione prosegue. Se a causa di questo non può ovviamente ottenere una Connection, anche qui stampi qualcosa su System.out ma la esecuzione arriva comunque alla creazione del PreparedStatement ma se connection è rimasto a null, ovviamente lì si schianta.

    Un modo per evitare dubbi/problemi di questo tipo è innanzitutto quello di scrivere codice corretto, che gestisce le eccezioni in modo adeguato senza far andare avanti nel caso di errori precedenti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.