Bonsoir à tous.
Alors voilà, je commence tout doucement dans le cadre de mes cours le développement Web en JSP/Servlet.
Pour ce faire, nous avons un mini-dossier à réaliser. Je possède les notions de Web dynamique vu que je développe en PHP depuis des années et que je commence l'ASP.NET.
Seulement voilà, ici en Java, il y a quelque chose que je ne comprend pas... C'est forcément du à un problème de compréhension d'où le fait que je m'adresse à vous afin d'avoir une explication plus claire.
Mon problème est le suivant:
Je possède une page JSP de login, celle-ci envoie le contenu du formulaire à un servlet.
Cette servlet vérifie les données et doit renvoyer une page "protégée" au client loggué (Je lui passe une variable de session pour l'identifier).
Pour çà pas de soucis... néanmoins cette page protégée doit être une page temporaire qui au bout de TEMPS secondes doit se rafraichir.
Seulement au bout de TEMPS secondes sur la page, JBoss me renvoie une erreur 500 portant sur un NullPointerException.
Quand je regarde d'où provient l'erreur, il s'agit en fait de la 1ère ligne de ma servlet qui est supposée reprendre un champ du formulaire de login (du tout début donc...)
Alors voilà... j'ai un problème de compréhension... pourquoi est-ce la servlet qui est rappelée alors que je ne veux absolument pas celà?
Voici le code de ma servlet:
Et voici le code JSP de ma page reglages.jsp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 public class InscriptionLogin extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L; private Properties users = null; /* (non-Java-doc) * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*CHARGEMENT DE LA PERSITENCE ETC */ String username = request.getParameter("pseudo").trim(); // LIGNE MARQUANT LE NULLPOINTEREXCEPTION String password = request.getParameter("password").trim(); String page = request.getParameter("page"); // On sait alors s'il s'agit d'un login ou d'un register. /* Des vérifications sur les paramètres */ // Traitement spécifique en fonction des pages. if (page.equals("login.jsp")) { /* Bla bla */ // PARTIE CENTRALE !!!!! response.setHeader("Refresh", "10"); sendPage(request, response, "OK REFRESH PAGE", "KIKOULOL!", "WEB-INF/jsp/reglages.jsp"); return; // PARTIE CENTRALE !!!!!// PARTIE CENTRALE !!!!!// PARTIE CENTRALE !!!!!// PARTIE CENTRALE !!!!! } else if (page.equals("register.jsp")) { // Bla bla } } /* (non-Java-doc) * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } /** * Envoyer la page avec un titre et un message adéquats. * @param request */ protected void sendPage(HttpServletRequest request, HttpServletResponse response, String title, String message, String path) throws IOException { request.setAttribute("titre", title); request.setAttribute("message", message); path = response.encodeURL(path); try { request.getRequestDispatcher(path).forward(request, response); } catch (ServletException e) { e.printStackTrace(); } }
Voilà je pense réellement qu'il s'agit d'un problème de compréhension de la logique... mais voilà
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?xml version="1.0" encoding="ISO-8859-1" ?> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Réglage du jeu</title> </head> <body> <h2>${message}</h2> <form method="post" action=<c:url value = "StartGame.do"/>> <label>Nombre de pions: </label> <select name="nbPions"> <c:forEach var="i" begin="1" end="100" step="1"> <option value="<c:out value='${i}' />"><c:out value="${i}" /></option> </c:forEach> </select><br/> <label>Prise maximum: </label> <select name="nbPrise"> <c:forEach var="i" begin="1" end="10" step="1"> <option value="<c:out value='${i}' />"><c:out value="${i}" /></option> </c:forEach> </select> <br/> <input type="submit" value="Jouer!" /> </form> </body> </html>
Merci d'avance !
Partager