Avatar billede hltohin Nybegynder
30. april 2011 - 20:01 Der er 9 kommentarer

Nullpointer

Hej

Jeg er ved at lære om jsp og skal lave et program med noget brugeradministration

På den side hvor man kan skifte password bliver jeg ved med at få en nullpointer fejl


Kan i hjælpe mig

<%@ include file="logintjek.jsp" %>
<jsp:useBean id="Funktion" class="dto.Funktion" scope="session"></jsp:useBean>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>&#262;ndre kodeord</title>
<link rel="stylesheet" type="text/css" href="standard.css">
</head>
<body>

    <div id="vert-hoz">
        <table border="1" align=center>
            <tr>
                <td align="center">
                    <fieldset style="width: 320px" style='center'>
                        <legend>Nyt kodeord:</legend>
                        <form name="input" action="changePassword.jsp" method="post">
                                Gammelt kodeord: <br /><input type="password" name="oldPassword" /> <br />
                                Nyt kodeord: <br /><input type="password" name="password1"  /> <br />
                                Gentag kodeord:<br /><input type="password" name="password2" /> <br />
                                <input type="submit" value="OK" />
                        </form>
                    </fieldset></td>
            </tr>
        </table>
    </div>

<%

    String[] userid = new String[2];

    userid[0] = (String) session.getAttribute("nr");
       
    userid[1] = request.getParameter("oldPassword");
         
    String[] password = new String[2];
   
    password[0] = request.getParameter("password1");
   
    password[1] = request.getParameter("password2");
   
if (password[0].equals(password[1]))
    {
    if(Funktion.checkPassword(userid))
            {
        String[] newpassword = new String[2];
        newpassword[0] = userid[0];
        newpassword[1] = password[0];
       
        Funktion.changePassword(newpassword);
                                         
            }
   
    }

%>


</body>
</html>
Avatar billede wanze Nybegynder
30. april 2011 - 20:15 #1
Det bliver lidt nemmere, hvis vi ved, hvor vi skal kigge. Kom med den exception, der bliver smidt og fortæl os, hvilken linje det sker på.
Avatar billede arne_v Ekspert
30. april 2011 - 20:16 #2
Skal du ikke teste om det er POST inden du udfoerer koden nederst?
Avatar billede erikjacobsen Ekspert
30. april 2011 - 20:16 #3
Enig med arne_v. Sandsynligvis linien:

    if (password[0].equals(password[1]))

hvor password[0] er null fordi du ikke har POST-ed din <form> endnu.
Avatar billede wanze Nybegynder
30. april 2011 - 20:29 #4
Ja, det må være det. Kontroller om de er sat først.

if (request.getParameter("password1") != null &&
  request.getParameter("password2") != null) {
...
}
Avatar billede arne_v Ekspert
30. april 2011 - 20:33 #5
Man kunne starte med:

if(request.getMethod().equals("POST")) {
...
}
Avatar billede hltohin Nybegynder
30. april 2011 - 23:00 #6
Ups ja callstacken havde nok været en god ide som i siger. Men det lader til at i har fundet ud af hvilken linje der går på fejl.

Arne jeg forstår ikke helt hvor det skulle stå henne. Er ikke helt haj i JSP endnu :)
Avatar billede hltohin Nybegynder
30. april 2011 - 23:09 #7
Fandt ud af det.

Brugte arnes metode. Smider du svar.
Avatar billede arne_v Ekspert
22. maj 2011 - 21:45 #8
OK
Avatar billede arne_v Ekspert
25. juni 2011 - 04:20 #9
saa mangler du bare at acceptere
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester