Httpsession dans plusieurs fichiers java

Fermé
LCoileux - 4 févr. 2010 à 20:15
 Utilisateur anonyme - 6 févr. 2010 à 17:27
Bonjour,
Je dois faire une petit application web qui enregistre le nom d'un joueur et le mémorise dans une session.
Le schéma fait a peu près ceci: index.jsp -> start.java -> play.java
Le nom sera tapé dans le fichier "start.java", et je devrais le réutiliser dans le fichier "play.java"
Cependant, je ne sais pas où ouvrir ma session, ni quand stocker le nom entré.
Dois-je ouvrir ma session dans le fichier start.java ? Ou alors dans "play.java" ? Et comment stocker
le nom entré ?
Voici mes différents codes:

index.jsp
<%-- 
    Document   : index
    Created on : 1 févr. 2010, 16:16:05
    Author     : proca0011
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!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=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Dice Game</h1>
        <FORM method=post action="DiceGame">
            <INPUT type="button" value="Play" onClick=self.location.href="start">
            <INPUT type="button" value="View HighScore" onClick=self.location.href="highscore" >
            <INPUT type="button" value="Exit">
        </FORM> 
    </body>
</html>



start.java
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            // TODO output your page here
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet start</title>");  
            out.println("</head>");
            out.println("<body>");
            out.println("Nom du joueur");
            out.println("<FORM method=post action=\"play\">");
            out.println("<INPUT type=text name=\"nom\">");
            out.println("<INPUT type=\"submit\" value=\"OK\" onClick=self.location.href=\"play\">");
            out.println("<INPUT type=\"button\" value=\"Cancel\" onClick=self.location.href=''>");
            out.println("</form>");
            out.println("</body>");
            out.println("</html>");
            //*/
        } finally { 
            out.close();
        }
    } 


play.java
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            //* TODO output your page here
            int die1 = (int)(Math.random()*6+1);
            int die2 = (int)(Math.random()*6+1);
            int result = die1+die2;
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet play</title>");  
            out.println("</head>");
            out.println("<body>");
            out.println("Name: &nbsp &nbsp");
            out.println("Score: 0 &nbsp &nbsp");
            out.println("Turn: 0 &nbsp &nbsp <br><br>");
            out.println("Die: "+ die1 +"&nbsp &nbsp <br><br>");
            out.println("Die: "+ die2 +"&nbsp &nbsp <br><br>");
            out.println("<INPUT type=\"button\" value=\"Ok\" onClick=self.location.href=\"play\">");
            out.println("</body>");
            out.println("</html>");
            //*/
        } finally { 
            out.close();
        }
    } 


Pardon pour ce post assez long :s
A voir également:

1 réponse

Utilisateur anonyme
6 févr. 2010 à 17:27
salut
la session est initialisée automatiquement par le serveur d application quand tu arrives dessus. pour t en assurer, tu peux faire un request.getSession(false) et voir si tu récupères quelque chose.
tu devras stocker les informations dans ta session dans la classe qui récupèreras les données du formulaire (classe liée a l'action DiceGame ?)
a+
0