Lorsque j'exécute ce serveur Web Tomcat et essayez de poster le formulaire avec les informations d'identification correctes ou incorrectes, il en résulte une erreur HTTP / 500.
Le code de servlet: P>
java.lang.NullPointerException check.doPost(check.java:21) javax.servlet.http.HttpServlet.service(HttpServlet.java:660) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
3 Réponses :
Peut-être que votre variable (formusername ou formidassword) est une valeur nulle, votre programme donne donc un pointeur NULL. P>
Vous devez vérifier si vous pouvez obtenir le nom et le mot de passe de la demande. P>
Une chose que j'ai réalisée votre code de servlet ne remplace pas la méthode Dopost par défaut. Vous devriez avoir quelque chose comme celui-ci normalement
p>
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
Merci prasad_ pour son dernier commentaire de changer le message pour vérifier les variables données. Ils ne semblaient pas correspondre au formulaire HTML. J'ai changé le à p> et p> à p > <input type="password" name="Password" placeholder="Wachtwoord" maxlength="20" required>
Mais votre code de servlet affiche les noms de paramètres comme «nom d'utilisateur» et «mot de passe»?
Pouvez-vous dire quel est le code sur la ligne 21 i> du
check.java code>? (
java.lang.nullpointException check.dopost (check.java:21) code>.
Je pense que vous obtenez un
NULL code> valeur pour
formusername code> à partir de ce code:
FormusSeName = demande.geparameter ("nom d'utilisateur"); code>. Et il résulte de la
nullpoinpoincerexception code> à:
si (formusername.equals (nom d'utilisateur) code>. Il est difficile de dire du code que vous avez montré ce qui est faux; le code regarde Très bien au premier regard.
Avez-vous entré Nom d'utilisateur i> et mot de passe i> dans le formulaire HTML? Si vous n'entrez pas de valeurs et soumettez le formulaire, vous obtiendrez cette erreur.
Une façon de vérifier si votre formulaire Soumettre fonctionne et que les paramètres sont envoyés au servlet sont ces trois étapes: (1) Supprimez la méthode de formulaire = "POST" et "OBTENIR" ". (2) Lorsque vous effectuez le formulaire Soumettre, vous pouvez voir les paramètres de la demande et les valeurs de la barre d'adresse du navigateur, comme celui-ci
http://example.com/path/to/page?username=john&password=doe code> ; Remarque La chaîne de requête contient les noms de paramètres de la demande et leurs valeurs. Que vois-tu là? (3) Ajouter une méthode code> doket code> sur le servlet pour vérifier l'affichage du formulaire à partir du code HTML modifié.