Java JSP błąd warunku metoda GET

0

Witam, nie wiem gdzie jest problem, ponieważ jak dla mnie wszystko powinno chodzić. Dostaje nullExceptionPointner przy próbie usuwania przedmiotów.

Kod:

   out.print ("<a href=usun.jsp?id="+(result.getString("id")) +"&uczen=tak>Usun</a></td> ");
    out.print ("<a href=usun.jsp?id="+(result.getString("id")) +"&przedmiot=tak>Usun</a></td> ");

//Kod usuwający w zależności z jakiego linku weszliśmy

  <%
   
        if((request.getParameter("uczen").equals("tak")) && request.getParameter("id").equals(request.getParameter("id")))
          {
           PreparedStatement state=connection.prepareStatement("Delete from user where id="+request.getParameter("id"));
        
        state.execute();
       out.print("Usuni?to u?ytkownika o id" + request.getParameter("id"));
         out.print("<a href=Uczniowie.jsp>Lista uczniów</a>");
           
        }
           
        else if(request.getParameter("przedmiot").equals("tak") && request.getParameter("id").equals(request.getParameter("id")))
               { 
             
              PreparedStatement state=connection.prepareStatement("Delete from przedmioty where id="+request.getParameter("id"));
            state.execute();
           
               out.print("usunieto przedmiot o id " + request.getParameter("id") );
           out.print("<a href=Uczniowie.jsp>Lista uczniów</a>");
           
               }
             
           
  %>

Dodam, że te 2 warunki gryzą się ze sobą.. jak usunę pierwszy to drugi zaczyna chodzić i usuwa przedmioty, jak są oba to na drugim wywala ws. błąd.

0

Daj log bledu

0

Czy to w pierwszej instrukcji warunkowej na pewno jest poprawne?: request.getParameter("id").equals(request.getParameter("id")

0

Ja bym zaproponował inne podejście. Po pierwsze, same skryplety to coś, czego powinni zabronić. Po drugie, operacje na bazie wykonywane z poziomu jsp? Toż to w ogóle zło. Pomijam fakt, że samo jsp jest już przestarzałe. Myślę, że dużo lepszym rozwiązaniem będzie przeniesienie warstwy bazodanowej do jakiegoś DAO. Wtedy można spokojnie użyć debuggera by znaleźć npe. I pozwolic frontowi na robienie tylko właściwych dla niego rzeczy, czyli wyświetlania danych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1