Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2019
    Messages : 5
    Points : 4
    Points
    4

    Par défaut [JAVA EE] TP Calculatrice

    Bonsoir a tous et merci d'avance.

    je suis dans l'impasse depuis plusieurs jour, je début dans la programmation et encore loin de maîtriser.

    je réalise actuellement le TP du cour sur java EE

    J'ai déjà réaliser me semble t'il 90% du projet mais je me retrouve bloquer a l'envoi de ma variable message sur calculatrice.jsp .

    Pour mon servlet j'ai fais ceci:

    package com.octest.servlets;

    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
    package com.octest.servlets;
     
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
     
    @WebServlet("/CalcServlet")
    public class CalcServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
     
     
        public CalcServlet() {
            super();
     
        }
     
     
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            this.getServletContext().getRequestDispatcher("/WEB-INF/calculatrice.jsp").forward(request, response); 
        }
     
     
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                    Calcul calcul = new Calcul(
                    Integer.parseInt(request.getParameter("operande1")),
                    request.getParameter("operateur"),
                    Integer.parseInt(request.getParameter("operande2")));
     
            request.setAttribute("calcul", calcul);
            this.getServletContext().getRequestDispatcher("/WEB-INF/calculatrice.jsp").forward(request, response);
        }
     
    }
    Ensuite Pour ma .JSP

    Code JSP : 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
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
     
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Calculatrice</title>
        </head>
        <body>
     
     
            <p>
                 $[calcul.message]
            </p>
     
            <form method="post" action="">
                <input name ="operande1" type="number" size=3/>
                <select name="operateur" size="1">
                    <option value="+">+</option>
                    <option value="-">-</option>
                    <option value="x">x</option>
                    <option value="/">/</option>
                </select>
                <input name ="operande2" type="number" size=3/>
                <input type="submit" value="=" />
            </form>
            <p>
     
            </p>
        </body>
    </html>

    J'ai aussi Réalisé un classe pour exécuter les calcul et l'affichage de la réponse.

    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
    52
    53
    54
    55
    56
    package com.octest.servlets;
     
    public class Calcul {
     
         int operande1 = 0;
         int operande2 = 0;
         int resultat;
         String operateur;
         String message;
         String message1;
         String message2;
     
        {
     
        if ( (operande1 == 0) && (operande2 == 0) ) {
            message1 = ("Veillez entrez une valeur");
            message = new String(message1); 
        }
        else {
             message2 = ("Bonjour, vous avez calculé" +  operande1 + operateur +  operande2 + " = "  + resultat);
     
             message = new String(message2); 
             }
        }
     
        public Calcul (int operande1, String operateur, int operande2) {
            this.operande1 = operande1;
            this.operateur = operateur;
            this.operande2 = operande2;
     
            if (this.operateur.equals("+")) {
                this.setResultat(this.operande1 + this.operande2);
            }
            else if (this.operateur.equals("-")) {
                this.setResultat(this.operande1 - this.operande2);
            }
            else if (this.operateur.equals("x")) {
                this.setResultat(this.operande1 * this.operande2);
            }
            else this.setResultat(this.operande1 / this.operande2);
        }
     
        public int getResultat() {
            return resultat;
        }
        public String getMessage() {
            return message;
            }
     
        public void setResultat(int resultat) {
            this.resultat = resultat;
        }
        public void setMessage(String message) {
            this.message = message;
        }
    }
    C'est sur cette page qu’apparaît m'as seul erreur qui me dis "The value of the local variable is not used."

    Je vous joint aussi mon index.html et mon web.xml car je ne suis toujours pas sur de moi et il est possible que le problème vienne de la

    index.html

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Calculatrice</title>
        </head>
     
        <body>
     
        </body>
    </html>
    Ainsi que mon web.xml

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
      <servlet>
        <servlet-name>CalcServlet</servlet-name>
        <servlet-class>com.octest.servlets.CalcServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>CalcServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    </web-app>

    Et pour finir une capture d’écran de la hiérarchie de mes dossier ainsi que l’aperçu de la compilation du programe et les erreurs.

    Nom : menu.PNG
Affichages : 43
Taille : 13,8 Ko
    Nom : HTML.PNG
Affichages : 44
Taille : 7,1 Ko
    Nom : ERREUR2.PNG
Affichages : 44
Taille : 29,4 Ko

    Comme vous pouvez le remarquer ma variable message n'est pas envoyer a la jsp , lorsque je revois des information dans mes formulaire la page ce reactualise sans modification parcontre , lorsque j'envoi sans information l'erreur suivante sur mon Servlet CalcServlet ligne 29 revienne et m'indique que les information ne communique pas entre les différents page enfin je dis ça mais as mon niveau de novice c'est comme si je disais rien mdr.
    Y a t'il une facon d'inclure la classe dans la ?
    Bref comme vous l’aurait compris cela dépasse un peux mes compétence pour le moment et je suis sur presque sur que l'erreur vas me sauter au yeux une fois le doigt dessus.
    je vous remercie encore pour votre attention et vous souhaite une bonne continuation dans l'attente d'une solution.

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2019
    Messages : 5
    Points : 4
    Points
    4

    Par défaut Modification probable

    je me suis dis que j'utilise trop de variable dans ma condition if dans ma classe calcul et les simplifier, sans changement et sans être sur de son efficacité, du coup peut être que cette forme est plus probante.

    Classe java calcul.java

    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
    52
     
    public class Calcul {
     
    	int operande1 = 0;
    	int operande2 = 0;
    	int resultat;
    	String operateur;
    	String message;
     
    	{
     
    		if ((operande1 == 0) && (operande2 == 0)) {
    			 message = ("Veillez entrez une valeur");
     
    		} else {
    			message = ("Bonjour, vous avez calculé" + operande1 + operateur + operande2 + " = " + resultat);
     
    		}
     
    	}
     
    	public Calcul(int operande1, String operateur, int operande2) {
    		this.operande1 = operande1;
    		this.operateur = operateur;
    		this.operande2 = operande2;
     
    		if (this.operateur.equals("+")) {
    			this.setResultat(this.operande1 + this.operande2);
    		} else if (this.operateur.equals("-")) {
    			this.setResultat(this.operande1 - this.operande2);
    		} else if (this.operateur.equals("x")) {
    			this.setResultat(this.operande1 * this.operande2);
    		} else
    			this.setResultat(this.operande1 / this.operande2);
    	}
     
    	public int getResultat() {
    		return resultat;
    	}
     
    	public String getMessage() {
    		return message;
    	}
     
    	public void setResultat(int resultat) {
    		this.resultat = resultat;
    	}
     
    	public void setMessage(String message) {
    		this.message = message;
    	}
    }

  3. #3
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2008
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2008
    Messages : 1 376
    Points : 1 917
    Points
    1 917

    Par défaut

    Salut,
    dans la classe CalcServlet,

    modifier ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                    String operande1 = request.getParameter("operande1");
                    String operande2 = request.getParameter("operande2");
                    operande1 = "".equals(operande1.trim()) ? "0" : operande1;
                    operande2 = "".equals(operande2.trim()) ? "0" : operande2; 
                    Calcul calcul = new Calcul(
                    Integer.parseInt(operande1,
                    request.getParameter("operateur"),
                    Integer.parseInt(operande2));
     
            request.setAttribute("calcul", calcul);
            this.getServletContext().getRequestDispatcher("/WEB-INF/calculatrice.jsp").forward(request, response);
        }
    Eric

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2019
    Messages : 5
    Points : 4
    Points
    4

    Par défaut réponse jeffray03

    Merci pour l'intervention,
    Mais la solution n'est toujours pas la.

    j'ai essaye ton bout de code mais il m'indiquer une erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                    String operande1 = request.getParameter("operande1");
                    String operande2 = request.getParameter("operande2");
                    operande1 = "".equals(operande1.trim()) ? "0" : operande1;
                    operande2 = "".equals(operande2.trim()) ? "0" : operande2; 
                    Calcul calcul = new Calcul(
                    Integer.parseInt(operande1,                           // probleme avec interger a cause de la parenthese manquante 
                    request.getParameter("operateur"),
                    Integer.parseInt(operande2));                        // de meme parenthese manquante
     
            request.setAttribute("calcul", calcul);
            this.getServletContext().getRequestDispatcher("/WEB-INF/calculatrice.jsp").forward(request, response);
        }
    Je les corriger ainsi :

    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
     
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String operande1 = request.getParameter("operande1");
            String operande2 = request.getParameter("operande2");
            operande1 = "".equals(operande1.trim()) ? "0" : operande1;    // erreur lors de l'envoi du formulaire.
            operande2 = "".equals(operande2.trim()) ? "0" : operande2; 
            Calcul calcul = new Calcul(
                    Integer.parseInt(request.getParameter("operande1")),
                    request.getParameter("operateur"),
                    Integer.parseInt(request.getParameter("operande2")));
     
    request.setAttribute("calcul", calcul);
    this.getServletContext().getRequestDispatcher("/WEB-INF/calculatrice.jsp").forward(request, response);}
     
    }
    Maintenant le nom de ma variable n’apparaît sur la page html générer mais lors de l’envoie j'ai toujours une erreur a la ligne 27 du servlet qui correspond a la ligne ou j'ai ajouter un commentaire.

  5. #5
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2008
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2008
    Messages : 1 376
    Points : 1 917
    Points
    1 917

    Par défaut

    Salut,
    il faudra, voir si a ce moment la, elle n´est pas null.

    dans ce cas , tu fais une condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(operand1) == null )
      operand1 = "0";
     
    if(operand2) == null )
      operand2 = "0";
    et dans le fichier jsp remplacer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <p>
                 $[calcul.message]
            </p>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <p>
                 ${calcul.message}
            </p>
    en passant peux-tu nous afficher l´erreur?

    Eric

  6. #6
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2008
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2008
    Messages : 1 376
    Points : 1 917
    Points
    1 917

    Par défaut

    salut,

    voici :
    calculatrice.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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Calculatrice</title>
        </head>
        <body>
     
     
            <p>
                 ${calcul.message}
            </p>
     
            <form method="post" action="CalcServlet">
                <input name ="operande1" type="number" size=3/>
                <select name="operateur" size="1">
                    <option value="+">+</option>
                    <option value="-">-</option>
                    <option value="x">x</option>
                    <option value="/">/</option>
                </select>
                <input name ="operande2" type="number" size=3/>
                <input type="submit" value="=" />
            </form>
            <p>
     
            </p>
        </body>
    </html>
    CalcServlet.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	    	 String operande1 = request.getParameter("operande1");
                 String operande2 = request.getParameter("operande2");
                 operande1 = "".equals(operande1.trim()) ? "0" : operande1;
                 operande2 = "".equals(operande2.trim()) ? "0" : operande2; 
                 Calcul calcul = new Calcul(
                 Integer.parseInt(operande1),
                 request.getParameter("operateur"),
                 Integer.parseInt(operande2));
    	        request.setAttribute("calcul", calcul);
    	        this.getServletContext().getRequestDispatcher("/WEB-INF/calculatrice.jsp").forward(request, response);
    	    }
    Calcul.java:

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    public class Calcul {
     
        int operande1 = 0;
        int operande2 = 0;
        int resultat;
        String operateur;
        String message;
        String message1;
        String message2;
     
       {
     
       if ( (operande1 == 0) && (operande2 == 0) ) {
           message1 = ("Veillez entrez une valeur");
           message = new String(message1); 
       }
       else {
            message2 = ("Bonjour, vous avez calculé" +  operande1 + operateur +  operande2 + " = "  + resultat);
     
            message = new String(message2); 
            }
       }
     
       public Calcul (int operande1, String operateur, int operande2) {
           this.operande1 = operande1;
           this.operateur = operateur;
           this.operande2 = operande2;
     
           if (this.operateur.equals("+")) {
               this.setResultat(this.operande1 + this.operande2);
           }
           else if (this.operateur.equals("-")) {
               this.setResultat(this.operande1 - this.operande2);
           }
           else if (this.operateur.equals("x")) {
               this.setResultat(this.operande1 * this.operande2);
           }
           else this.setResultat(this.operande1 / this.operande2);
     
           if ( (operande1 == 0) && (operande2 == 0) ) {
               message1 = ("Veillez entrez une valeur");
               message = new String(message1); 
           }
           else {
                message2 = ("Bonjour, vous avez calculé" +  operande1 + operateur +  operande2 + " = "  + resultat);
     
                message = new String(message2); 
                }
       }
     
       public int getResultat() {
           return resultat;
       }
       public String getMessage() {
           return message;
           }
     
       public void setResultat(int resultat) {
           this.resultat = resultat;
       }
       public void setMessage(String message) {
           this.message = message;
       }
    }
    Eric

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2019
    Messages : 5
    Points : 4
    Points
    4

    Par défaut Remerciement

    Merci de votre réactivité et du partage de vos connaissance.
    J'avais finalement recommencer du début pour finir sur une voie un peux différente, mais je suis revenu corriger les erreurs de celui ci.
    je vous remercie du soutient et vous remercie de de cette super aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une Calculatrice Java
    Par popy67 dans le forum Débuter
    Réponses: 6
    Dernier message: 26/01/2009, 15h35
  2. interface en java - calculatrice
    Par mirinda dans le forum Débuter
    Réponses: 7
    Dernier message: 13/12/2008, 18h56
  3. Probleme calculatrice java
    Par Marie.B dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 17/11/2008, 12h48
  4. calculatrice en java
    Par rafikindia dans le forum Général Java
    Réponses: 19
    Dernier message: 11/04/2008, 11h45
  5. Création d'une calculatrice en Java
    Par angelka dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 05/12/2007, 20h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo