Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours Java EE - Vos questions

    10 novembre 2015 à 11:02:16

    willi@ms151 a écrit:

    Est-ce qu'il existe un moyen de developper des applications en Java EE sans passer par Eclipse svp ?
    Parce que j'ai de nombreux problèmes notamment avec le server


    Tu peux passer par un autre IDE (netbeans par exemple), voir même sans IDE (avec notepad ou n'importe quel éditeur de fichier) en compilant/déployant à la main

    antoinecompagnie a écrit:

    @Clampu

    D'accord pour le this: à l'intérieur d'une classe & pour désigner l'instance de ma classe.

    A petit_a = new A();
    petit_a.enfant();

    Ici, on instancie petit_a. Mais peut-on dire que l'on instancie deux fois en instanciant une deuxième fois son âge? Je ne suis pas très sûr de comprendre la deuxième ligne...

    Tu confond objet et propriété ! Ici, A est la classe, on ne peut instancier qu'une classe (new A()). Cette classe peut (sinon ça n'a aucun intérêt) posséder des propriétés et des méthodes. Lorsque tu appelles enfant() sur petit_a, tu applique la méthode enfant() sur une instanciation de ta classe. Imaginons un cas plus concret :

    public class Guerrier {
        private int point_de_vie = 0;
        private int attaque = 0;
        
        public Guerrier(int vie, int att) {
            this.point_de_vie = vie;
            this.attaque = att;
        }
        
        public void attaquer(int domages) {
            this.point_de_vie = this.point_de_vie - domages;//on inflige 'domages' domages au guerrier.
            if (this.point_de_vie <= 0) {
                System.out.println("le guerrier est mort !");
            }
        }
        public int getAttaque() {return this.attaque;}
    
    }


    Avec cette classe, tu peux faire :

    Guerrier achile = new Guerrier(150, 12);
    Guerrier hector = new Guerrier(100, 18);
    achile.attaquer(60);// ici, la vie d'achile ne sera plus que de 150-60 = 90. Par contre, la vie d'hector n'a pas change puisqu'on a appelé attaquer sur achile !
    achile.attaquer(50);// il reste 40 pdv
    achile.attaquer(hector.getAttaque());//achile subit la valeur d'attaque d'hector, soit 18. Il lui reste 22 pdv !
    achile.attaquer(30);//on affiche "le guerrier est mort !" puisqu'achile n'a plus de pdv. Par contre, hector en a toujours 100!
    hector.attaquer(100);//hector est one shoot !



    Revois un cours de POO (JAVA ou autre) pour avoir les bases avant de te lancer dans le J2EE.


    -
    Edité par Clampu 10 novembre 2015 à 11:03:43

    • Partager sur Facebook
    • Partager sur Twitter
      10 novembre 2015 à 11:45:46

      Bonjour,

      Débutant, je suis le cours et je suis bloqué dans la réalisation d'un exercice perso.

      J'ai une liste en dur dans ma classe du DAO

      package dao.impl;
      
      import java.util.ArrayList;
      
      import bean.EntiteJuridique;
      
      
      
      
      public class EntiteJuridiqueDaolmpl implements EntiteJuridiqueDao
      {
      
          @Override
          public ArrayList<EntiteJuridique> findLesEntiteJuridiqueParDepartement(String departementEnParametre)
          {
              ArrayList<EntiteJuridique> listeEntiteJuridique = new ArrayList<EntiteJuridique>();
      
              // creation des éléments de la liste
              EntiteJuridique entiteJuridique1;
              entiteJuridique1 = new EntiteJuridique("025025", "2509E13", "ENTITE JURIDIQUE1");
              listeEntiteJuridique.add(entiteJuridique1);
              EntiteJuridique entiteJuridique2;
              entiteJuridique2 = new EntiteJuridique("025020", "2509E10", "ENTITE JURIDIQUE2");
              listeEntiteJuridique.add(entiteJuridique2);
              EntiteJuridique entiteJuridique3;
              entiteJuridique3 = new EntiteJuridique("025018", "2509E093", "ENTITE JURIDIQUE3");
              listeEntiteJuridique.add(entiteJuridique3);
              EntiteJuridique entiteJuridique4;
              entiteJuridique4 = new EntiteJuridique("022012", "2209E09", "ENTITE JURIDIQUE4");
              listeEntiteJuridique.add(entiteJuridique4);
      
              return listeEntiteJuridique;
          }
      
          @Override
          public void saveEntiteJuridique(EntiteJuridique entiteJuridiqueNouvelle)
          {
              System.out.println("Je passe par le Dao V2");
              System.out.println(entiteJuridiqueNouvelle);
          }
      
      }
      



      Après avoir testé le passage jusqu'à la servlet via la classe du package service et de l'afficher dans un system.out je dois maintenant l'afficher dans une jsp.

      J'ai donc un projet dynamique avec les librairies et la directive nécessaires à l'utilisation de la balise <c:forEach>

      Mon problème : je ne sais pas comment récupérer la liste dans la servlet même si je pense devoir utiliser quelque chose comme (inséré dans le doGet de ma servlet)

       List lesEntitesJuridiques = new ArrayList();
              
              lesEntitesJuridiques.add();
              lesEntitesJuridiques.add();
              lesEntitesJuridiques.add();
              lesEntitesJuridiques.add();
      
              request.setAttribute("lesEntitesJuridiques", lesEntitesJuridiques);



      Pouvez-vous m'aider ?

      Par avance merci et bonne journée.

      • Partager sur Facebook
      • Partager sur Twitter
        10 novembre 2015 à 11:54:28

        Justement je voudrais me passer d'IDE et j'aimerais donc avoir la méthode svp.

        -
        Edité par mrwi2l 10 novembre 2015 à 12:57:04

        • Partager sur Facebook
        • Partager sur Twitter
          10 novembre 2015 à 17:02:02

          Salut Willi,

          Tu peux utiliser NetBeans, c'est quoi tes problèmes avec ton serveur ? Quel serveur utilise-tu ?

          Eclipse, normalement ne doit poser aucun problème. C'est l'IDE le plus utilisé en entreprise pour les développement Java.

          Voici une liste IDE en java suivre ce lien.

          https://blog.idrsolutions.com/2015/03/the-top-11-free-ide-for-java-coding-development-programming/

          Voilà à plus.

          • Partager sur Facebook
          • Partager sur Twitter
            11 novembre 2015 à 0:43:24

            Bonjour / Bonsoir
            D'abord merci pour ta reponse..
            J'ai exactement cette erreur.
            J'avais compris qu'il fallais que je modifie le fichier server.xml et changer de port. Mais je vais pas le faire a chaque redémarrage du serveur...

            Je rappelle qu'au debut tout fonctionne normalement, seulement apres deux-trois redemarrage que j'ai ce probleme  


            • Partager sur Facebook
            • Partager sur Twitter
              11 novembre 2015 à 16:37:56

              Bonsoir!

              Je suis actuellement en train d'étudier les exceptions et j'avais une question d'ordre lexical:

              Etant donné le code suivant: une classe VehiculeEco qui hérite de VéhiculeTourisme. Elle possède un constructeur mais fait appel à des arguments de Véhicule Tourisme. Si le CO2 rejeté par la voiture est supérieur à 200 alors on lève une exception de type Dépassementco2 définit plus bas (elle dérive de la classe Exception).

              class VehiculeEco extends VehiculeTourisme{
                int co2;
                String carburant;
                VehiculeTourisme (int n, String m, String carb) throws DepassementCO2, Exception{
                  super (n,m,carb);
                  try{
                    if (co2>200)throw new DebasementCO2();
                    this.co2=co2;
                  }
                  catch(DepassementCO2 e){
                  this.co2=200;
                  System.out.println("Correction co2");
                  }
                 System.out.println("Fin construction véhicule éco")
                }
              }
              class DebasementCO2 extends Exception {
              //pas de constructeur définit. Donc seul le constructeur par défaut est utilisable
              }

              Ma question porte sur la ligne suivant:

                VehiculeTourisme (int n, String m, String carb) throws DepassementCO2, Exception{

              A quoi cela sert t il de mettre throw de Depassemnt CO2 et Exception? DepassementCO2 n'aurait il pas suffit?

              J'ai conscience que throw propage l'exception à toutes les méthodes appelant (quoique je ne comprends pas encore l'intérêt, si ça plante, ça plante! non?)

              PS: Admirez l'actualité des exemples de mon prof après le scandale de manipulation de CO2 de Wolkswagen!

              • Partager sur Facebook
              • Partager sur Twitter
                11 novembre 2015 à 17:06:46

                Et j'en avait une autre à propose des classes internes: les classes déclarées à l'intérieur d'une autre classe qui offre une visibilité totale sur les membres de la classe externe, y compris les membres privés. (La classe externe accède aux membres d'une classe interne).

                Mon prof a ensuite écrit qu'on ne peut accéder aux membres d'une classe interne. (Est-ce une erreur?)

                L'utilisation d'une classe interne sert à exprimer des relations entre classes non prises en compte par héritage (un véhicule comprend un moteur mais le moteur ne peut pas hériter du véhicule (ce serait bizarre)).

                Si on a par exemple 

                class Véhicule{
                  int no;
                  class Moteur{
                    int no;
                    Moteur(){
                      no=Vehicule.this.no;
                    }
                  }
                }

                Cela veut il dire qu'on accède au numéro de vehicule pour instancier le numéro du moteur? Par contre si on avait eu

                class Véhicule{
                  int no;
                  class Moteur{
                    int no;
                    }
                  }
                }
                Comment aurait on fait pour instancier le numéro de moteur?
                • Partager sur Facebook
                • Partager sur Twitter
                  14 novembre 2015 à 22:41:56

                  Bonjour,

                  Je suis passé à Eclipse mars 4.5.1.

                  Depuis mon projet rencontre pas mal de souci, je me retrouve d'office avec une erreur 404 en fouillant dans la console.

                  Je suis tomber la dessus :

                  Mais je n'arrive pas a comprendre le problème.

                  nov. 14, 2015 10:36:25 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
                  AVERTISSEMENT: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:COMPET-BLOC-1' did not find a matching property.
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: Server version:        Apache Tomcat/8.0.15
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: Server built:          Nov 2 2014 19:25:20 UTC
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: Server number:         8.0.15.0
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: OS Name:               Linux
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: OS Version:            3.16.0-44-generic
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: Architecture:          amd64
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: JAVA_HOME:             /home/marmya/Documents/eclipse/jre
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: JVM Version:           1.8.0_25-b17
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: JVM Vendor:            Oracle Corporation
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: CATALINA_BASE:         /home/marmya/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: CATALINA_HOME:         /home/marmya/Documents/tomcat
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: Command line argument: -Dcatalina.base=/home/marmya/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: Command line argument: -Dcatalina.home=/home/marmya/Documents/tomcat
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: Command line argument: -Dwtp.deploy=/home/marmya/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: Command line argument: -Djava.endorsed.dirs=/home/marmya/Documents/tomcat/endorsed
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.VersionLoggerListener log
                  INFOS: Command line argument: -Dfile.encoding=UTF-8
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
                  INFOS: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
                  nov. 14, 2015 10:36:25 PM org.apache.coyote.AbstractProtocol init
                  INFOS: Initializing ProtocolHandler ["http-nio-8080"]
                  nov. 14, 2015 10:36:25 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
                  INFOS: Using a shared selector for servlet write/read
                  nov. 14, 2015 10:36:25 PM org.apache.coyote.AbstractProtocol init
                  INFOS: Initializing ProtocolHandler ["ajp-nio-8009"]
                  nov. 14, 2015 10:36:25 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
                  INFOS: Using a shared selector for servlet write/read
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.startup.Catalina load
                  INFOS: Initialization processed in 668 ms
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.core.StandardService startInternal
                  INFOS: Démarrage du service Catalina
                  nov. 14, 2015 10:36:25 PM org.apache.catalina.core.StandardEngine startInternal
                  INFOS: Starting Servlet Engine: Apache Tomcat/8.0.15
                  nov. 14, 2015 10:36:26 PM org.apache.jasper.servlet.TldScanner scanJars
                  INFOS: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
                  nov. 14, 2015 10:36:26 PM org.apache.catalina.core.StandardContext listenerStart
                  GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) com.cptbloc.config.InitialisationDaoFactory
                  java.lang.NoClassDefFoundError: com/cptbloc/dao/CategorieDAO
                  	at com.cptbloc.config.InitialisationDaoFactory.contextInitialized(InitialisationDaoFactory.java:21)
                  	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4772)
                  	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)
                  	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                  	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
                  	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
                  	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                  	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                  	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                  	at java.lang.Thread.run(Thread.java:745)
                  Caused by: java.lang.ClassNotFoundException: com.cptbloc.dao.CategorieDAO
                  	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1295)
                  	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1147)
                  	... 10 more
                  
                  nov. 14, 2015 10:36:26 PM org.apache.catalina.core.StandardContext startInternal
                  GRAVE: Error listenerStart
                  nov. 14, 2015 10:36:26 PM org.apache.catalina.core.StandardContext startInternal
                  GRAVE: Erreur de démarrage du contexte [/COMPET-BLOC-1] suite aux erreurs précédentes
                  nov. 14, 2015 10:36:26 PM org.apache.coyote.AbstractProtocol start
                  INFOS: Starting ProtocolHandler ["http-nio-8080"]
                  nov. 14, 2015 10:36:26 PM org.apache.coyote.AbstractProtocol start
                  INFOS: Starting ProtocolHandler ["ajp-nio-8009"]
                  nov. 14, 2015 10:36:26 PM org.apache.catalina.startup.Catalina start
                  INFOS: Server startup in 1228 ms

                  Quelqu'un peut me donner une piste ?

                  Bonne soirée

                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 novembre 2015 à 12:09:06

                    Bonjour à tous, je suis ce cours depuis plusieurs jours et je bloque carémment sur la création d'un servlet. C'est-à-dire le début du cours. Eclipse m'affiche le message d'erreur suivant: WebServlet cannot be resolved to a type! le problème se situe sur le fichier Test.java. Je n'arrive pas à trouver une solution et je suis complètement perdu! De l'aide s'il vous plait!

                    Voici les autres erreurs!

                    -HttpServlet cannot be resolved to a type

                    -HttpServletRequest cannot be resolved to a type

                     Sinon je continue toujours et enfin plus d'erreur à vue mais quand je clique sur play ça m'annonce 

                    Etat HTTP 404 - /test/servlet/com.octest.serlvets.Test

                    type Rapport d''état

                    message /test/servlet/com.octest.serlvets.Test

                    description La ressource demandée n''est pas disponible.


                    Apache Tomcat/8.0.28

                    Et je me demande aussi pourquoi ce n'est pas la page /bonjour qui s'ouvre!! 

                     Résolu...

                    -
                    Edité par FanielRAHERIARIVELO 15 novembre 2015 à 15:02:42

                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 novembre 2015 à 14:52:51

                      Je reprend ce cours avec apache tomcat server 8.0 .. et j'ai suivi toutes démarches comme indiquée dans le cours .. mais je compile mon premier projet en lencant mon serveur  et voici l'eerreur que me renvoie eclipse:

                      ava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/dhislogin]]

                      at java.util.concurrent.FutureTask.report(Unknown Source)

                      at java.util.concurrent.FutureTask.get(Unknown Source)

                      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)

                      at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:868)

                      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

                      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)

                      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)

                      at java.util.concurrent.FutureTask.run(Unknown Source)

                      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

                      at java.lang.Thread.run(Unknown Source)

                      Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/dhislogin]]

                      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)

                      ... 6 more

                      Caused by: java.lang.IllegalArgumentException: L'association de servlet (servlet mapping) indique un nom de servlet inconnu Loginsevlet

                      at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3146)

                      at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3125)

                      at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1372)

                      at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1176)

                      at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)

                      at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)

                      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)

                      at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

                      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5120)

                      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

                      ... 6 more


                      nov. 19, 2015 1:41:45 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom

                      Infos: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [337] milliseconds.

                      nov. 19, 2015 1:41:45 PM org.apache.catalina.core.ContainerBase startInternal

                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 novembre 2015 à 21:16:58

                        bonjour les amis merci de bien vouloir m'aider, ma préoccupation est la suivante:
                        Je veux utiliser deux modèles dans un même backingBean es ce possible?
                        en fait quand je l'ai fait il y a un seul modèle qui arrive à s'intancier le deuxième me retourne un nullpointerException par contre quand je le fais dans différents backing Bean ca marche parfaitement.
                        Je tient à le faire ainsi parceque je veux faire l'enregistrement dans deux tables différentes à partir d'un seul formulaire.
                        voici le code de mon backing Bean:

                        /*
                         * To change this license header, choose License Headers in Project Properties.
                         * To change this template file, choose Tools | Templates
                         * and open the template in the editor.
                         */

                        package com.soutenance.beans;

                        import com.soutenance.dao.AgentSanteDAO;
                        import com.soutenance.dao.UtilisateurDAO;
                        import com.soutenance.entites.AgentSante;
                        import com.soutenance.entites.Utilisateur;
                        import java.io.Serializable;
                        import javax.ejb.EJB;
                        import javax.faces.application.FacesMessage;
                        import javax.faces.bean.ManagedBean;
                        import javax.faces.bean.RequestScoped;
                        import javax.faces.context.FacesContext;

                        /**
                         *
                         * @author smane
                         */
                        @ManagedBean
                        @RequestScoped
                        public class AgentSanteBean implements Serializable {
                            private static final long serialVersionUID = 1L;
                            private AgentSante agentSante;
                            private Utilisateur utilisateur;
                           
                             @EJB    
                             private AgentSanteDAO agentSanteDAO; 
                             private UtilisateurDAO utilisateurDAO;
                            /**
                             * Creates a new instance of FemmmeEnsceinteBean
                             */
                            public AgentSanteBean() {       
                                agentSante = new AgentSante();
                                utilisateur = new Utilisateur();
                            }

                            public AgentSante getAgentSante() {
                                return agentSante;
                            }

                            public Utilisateur getUtilisateur() {
                                return utilisateur;
                            }
                               
                            public String trouver(String param){
                                return agentSanteDAO.trouverIdCentreSante(param);
                            }
                           
                            public void enregistrer(){
                                agentSante.setIdCentreSante(trouver(agentSante.getIdCentreSante()));
                                utilisateur.setIdUtilisateur(agentSante.getMatricule());       
                                utilisateurDAO.ajouterUtilisateur(utilisateur);
                                agentSanteDAO.ajouterAgentSante(agentSante);       
                                effacer();
                                FacesMessage message = new FacesMessage( "Succès de l'enregistrement !" );
                                FacesContext.getCurrentInstance().addMessage( null, message);
                               
                            }
                            public void effacer(){
                                agentSante.setAdresse(null);
                                agentSante.setGrade(null);
                                agentSante.setIdCentreSante(null);
                                agentSante.setMatricule(null);
                                agentSante.setNom(null);
                                agentSante.setPrenom(null);
                                agentSante.setTelephone(null);
                                utilisateur.setIdUtilisateur(null);
                                utilisateur.setLogin(null);
                                utilisateur.setMotDePasse(null);
                            }   
                               
                        }

                        • Partager sur Facebook
                        • Partager sur Twitter
                          20 novembre 2015 à 8:55:18

                          willi@ms151 a écrit:

                          Est-ce qu'il existe un moyen de developper des applications en Java EE sans passer par Eclipse svp ?
                          Parce que j'ai de nombreux problèmes notamment avec le server



                          Tu peux essayer NetBeans
                          • Partager sur Facebook
                          • Partager sur Twitter
                            20 novembre 2015 à 12:35:11

                            Bonjour j'ai un soucis concernant l'affichage des données sur ma page jsp. voici mon code

                            mon formulaire

                            <!DOCTYPE html>
                            <html>
                                <head>
                                    <meta charset="utf-8" />
                                    <title>Assimilation</title>
                                     <link rel="stylesheet" href="CSS/style.css" />
                                </head>
                               <body>
                                    <h1>Code d'assimilation</h1>
                                   	 <h4>Quelques tests</h4>
                                    <div id="menu">
                                    	
                                    	<form method="post" action="acces">
                               <p>Paramètres en entrée</p>
                               		 <label for="parametreA">Paramètre A <span class="requis">*</span></label>
                                     <input type="number" id="parametreA" name="parametreA" placeholder="a" value="" size="10" min="0" max="1" step="1" />
                                     <span></span>
                                     <br/>
                                     
                                     <label for="parametreB">Paramètre B <span class="requis">*</span></label>
                                     <input type="number" id="parametreB" name="parametreB" placeholder="b" value="" size="10" min="1" max="2" step="1" />
                                     <br/>
                                     
                                     <label for="parametreC">Paramètre C <span class="requis">*</span></label>
                                     <input type="number" id="parametreC" name="parametreC" placeholder="c" value="" size="10" min="1" max="2" step="1" />
                                     <br/>
                                     <br/>
                                     <br/>
                                     <label for="nbreValeurs">nombres de points <span class="requis">*</span></label>
                                     <input type="number" id="nbreValeurs" name="nbreValeurs" placeholder="" value="5" size="10" min="2" max="5" step="1" />
                                     <br/>
                                     <br/>
                                     <input type="submit" value="Valider"  />
                                     <input type="reset" value="Remettre à zéro" /> <br />
                            			</form>
                                    	
                                    </div>
                                </body>
                            </html>


                            ma servlet

                            package solar.servlets;
                            
                            import java.io.IOException;
                            
                            import javax.servlet.ServletException;
                            import javax.servlet.http.HttpServlet;
                            import javax.servlet.http.HttpServletRequest;
                            import javax.servlet.http.HttpServletResponse;
                            
                            import solar.Beans.fonction;
                            import solar.traitement.trate;
                            
                            public class assimilation extends HttpServlet {
                            
                                /**
                                 * 
                                 */
                                private static final long  serialVersionUID = 1L;
                            
                                public static final String VUE              = "/WEB-INF/affiche_input.jsp";
                                public static final String VUE_INSCRIPTION  = "/WEB-INF/inscription.jsp";
                                public static final String ATT_FONCTION     = "maFonction";
                                public static final String ATT_TRAITEMENT   = "monTraitement";
                            
                                public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
                            
                                    this.getServletContext().getRequestDispatcher( VUE_INSCRIPTION ).forward( request, response );
                                }
                            
                                public void doPost( HttpServletRequest request, HttpServletResponse response )
                                        throws ServletException, IOException {
                            
                                    trate monTraitement = new trate();
                                    fonction maFonction = monTraitement.creeFonction( request );
                                    maFonction = monTraitement.creeFonction( request );
                            
                                    request.setAttribute( ATT_FONCTION, monTraitement );
                                    request.setAttribute( ATT_TRAITEMENT, maFonction );
                            
                                    this.getServletContext().getRequestDispatcher( VUE ).forward( request, response );
                                }
                            
                            }

                             mon bean

                            package solar.Beans;
                            
                            public class fonction {
                            
                                private String paramA;
                                private String paramB;
                                private String paramC;
                                private String nbrePoints;
                            
                                public String getNbrePoints() {
                                    return nbrePoints;
                                }
                            
                                public void setNbrePoints( String nbrePoints ) {
                                    this.nbrePoints = nbrePoints;
                                }
                            
                                public String getParamA() {
                                    return paramA;
                                }
                            
                                public void setParamA( String paramA ) {
                                    this.paramA = paramA;
                                }
                            
                                public String getParamB() {
                                    return paramB;
                                }
                            
                                public void setParamB( String paramB ) {
                                    this.paramB = paramB;
                                }
                            
                                public String getParamC() {
                                    return paramC;
                                }
                            
                                public void setParamC( String paramC ) {
                                    this.paramC = paramC;
                                }
                            
                            }
                            

                            mon objet métier

                            package solar.traitement;
                            
                            import javax.servlet.http.HttpServletRequest;
                            
                            import solar.Beans.fonction;
                            
                            public final class trate {
                            
                                public static final String CHAMP_A      = "parametreA";
                                public static final String CHAMP_B      = "parametreB";
                                public static final String CHAMP_C      = "parametreC";
                                public static final String CHAMP_POINTS = "nbreValeurs";
                            
                                private int                produit;
                                // private List<Map<String, Integer>> monTableau = new ArrayList<Map<String,
                                // Integer>>();
                                // private Map<String, Integer> ligne = new HashMap<String, Integer>();
                            
                                public int getProduit() {
                                    return produit;
                                }
                            
                                public void setProduit( int produit ) {
                                    this.produit = produit;
                                }
                            
                                /*
                                 * public List<Map<String, Integer>> getMonTableau() { return monTableau; }
                                 * 
                                 * public Map<String, Integer> getLigne() { return ligne; }
                                 * 
                                 * public void setLigne( Map<String, Integer> ligne ) { this.ligne = ligne;
                                 * }
                                 */
                            
                                public fonction creeFonction( HttpServletRequest request ) {
                            
                                    String parametreA = getValeurChamp( request, CHAMP_A );
                                    String parametreB = getValeurChamp( request, CHAMP_B );
                                    String parametreC = getValeurChamp( request, CHAMP_C );
                                    String nbrePoints = getValeurChamp( request, CHAMP_POINTS );
                            
                                    fonction maFonction = new fonction();
                            
                                    maFonction.setParamA( parametreA );
                                    maFonction.setParamB( parametreB );
                                    maFonction.setParamC( parametreC );
                                    maFonction.setNbrePoints( nbrePoints );
                            
                                    // setMonTableau( paramA, paramB, paramC, nbrePoints, request );
                            
                                    return maFonction;
                            
                                }
                            
                                private static String getValeurChamp( HttpServletRequest request, String nomChamp ) {
                            
                                    String valeur = request.getParameter( nomChamp );
                                    return valeur.trim();
                                }
                            }

                            dans la jsp je réussi a afficher les paramètres de requête en passant par l'objet implicite ( param.parametreA), mais pas en passant par le bean transmit à la requête ( maFonction.paramA)

                            Est ce que quelqu'un voit le pb. merci





                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 novembre 2015 à 17:03:32

                              problème résolu finalment.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                21 novembre 2015 à 1:35:54

                                Hello les Zeros! Dites j'ai un petit devoir en Java à faire (que j'ai même fait!) mais j'aimerais avoir vos conseils! J'ai deux classes avec 2 constructeurs chacuneet je dois réaliser le deuxième constructeurs de chacune:

                                La classe Maillon

                                c'est la réalisation Java d’un maillon. Elle comprend un attribut element qui est l’élément mis dans la pile et un attribut next qui référence le maillon suivant. La classe Maillon n’est visible que par les classes de son espace de noms. Elle est définie dans le même fichier que la classe Stack. La classe Maillon a deux constructeurs :

                                1. un constructeur qui admet un élément passé en argument, dans ce cas le maillon suivant est établi à null lors de la déclaration des attributs.

                                2. un constructeur qui admet un élément passé en argument et le maillon suivant.

                                La classe Maillon a trois méthodes ayant une visibilité par défaut :

                                Object getElement() retourne l'élément associé au maillon courant Object next() retourne le maillon suivant

                                boolean hasNext() retourne true s’il existe un maillon suivant, false sinon

                                Les méthodes de réalisation sont:

                                void setNext(Maillon next) affecte l’attribut next avec le maillon passée en argument

                                void setElement(Object o) affecte l’attribut element avec l’objet o passé en argument

                                La classe Stack

                                La classe Stack est publique, elle a un attribut top qui référence le premier maillon. Elle a deux constructeurs:

                                1.un constructeur vide dans ce cas l’élément sommet est égal à null et la pile est vide et de taille zéro.

                                2. un constructeur qui admet un élément passé en argument de type Object, dans ce cas, il y a création d’un maillon (instance de la classe Maillon) avec l’élément suivant à null .La classe Stack admet les quatre méthodes publiques suivantes :void push(Object object) place au sommet de la pile l’objet passé en argument Object pop() retourne l’élément qui se trouve au sommet de la pile et place l’élément suivant au sommet de la pile.

                                Object first() accède au premier élément de la pile sans modifier la pile boolean isEmpty() retourne true si la pile est vide

                                Méthodes de réalisation de la classe Stack:

                                void setTop(Object o) établit le sommet de la pile avec le maillon passé en argument

                                Maillon getTop() retourne le sommet de la pile

                                Maillon next() retourne le maillon suivant

                                Maillon (element, element.next) {
                                    
                                }
                                
                                public Stack (object element){
                                    m= new Maillon;
                                    m.next = null;
                                }

                                Mais le prof a donné (en incluant dans les classes ses constructeurs...)

                                public class Stack (Object top){
                                    private Maillon top;
                                    public Stack(){}
                                    
                                    public Stack(object element){
                                        setTop new (Maillon (e));
                                    }
                                }

                                Et n'a pas donné le code du constructeur de Maillon en disant "pffft, facile" :/ :)

                                Mon constructeur est-il pour autant faux?

                                -
                                Edité par antoinecompagnie 21 novembre 2015 à 1:37:21

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  21 novembre 2015 à 10:25:26

                                  J'ai amélioré ce que j'ai fait mais j'ai toujours un problème à comprendre le constructeur de Stack

                                  Voici d'abord le nouveau constructeur de la classe Maillon

                                  Class Maillon
                                      private object element;
                                      private maillon next;
                                   
                                      Maillon (object element){
                                          this.element=element;
                                      }
                                   
                                      Maillon (object element, Maillon next){
                                          this.element=element;
                                          this next=next;
                                      }


                                  Et mon constructeur de la classe Stack qui diffère de clui du prof...


                                  Public Class Stack
                                      Public Object top; // mis en Public car la classe est Public
                                   
                                      Stack(){}
                                      Stack (object element){
                                          m= new Maillon; // création d'un nouveau Maillon 
                                          m.next = null; // puisque le Maillon suivant est à nul.
                                          // Mais à quoi sert element du coup?
                                      }
                                  }

                                  Pour rappel le constructeur du prof est:

                                  public class Stack (Object top){
                                      private Maillon top;
                                      public Stack(){}
                                   
                                      public Stack(object element){
                                          setTop new (Maillon (e));
                                  // ou crée-t-on le suivant? J'ai l'impression qu'on fait appel au premier contructeur et pas au second qui fait appel au suivant.
                                      }
                                  }



                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    27 novembre 2015 à 5:28:17

                                    bjr mon tomcat ne demarre plus erreur:

                                    Removing obsolete files from server...
                                    Could not clean server of obsolete files: Contenu non autorisé dans le prologue.
                                    Contenu non autorisé dans le prologue.

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      28 novembre 2015 à 23:20:07

                                      Salut willi@ms151,

                                      Je pense que ce lien répond à ta question :  https://blog.idrsolutions.com/2015/03/the-top-11-free-ide-for-java-coding-development-programming/

                                      -
                                      Edité par KaskoIssoufou 28 novembre 2015 à 23:21:36

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Jacques Le Roi
                                        29 novembre 2015 à 16:37:53

                                        Bonjour,

                                        J'ai développé une petite application qui calcul des fonctions. Maintenant j'aimerai qu'elle puisse les tracer. Je ne sais pas comment faire. quelqu'un a t'il une solution à me proposer? 

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          3 décembre 2015 à 10:12:06

                                          bonjour je veux un code code source plus simplifie pour une calculatrice scientifique svp

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            3 décembre 2015 à 11:18:33

                                            Salut. Déjà t'es pas dans le bon sujet. En plus on ne donne pas de code tout fait ici
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              5 décembre 2015 à 18:47:13

                                              Bonjour, je suis le tuto de coyote et j'en suis à l'introduction du JPA dans le projet:

                                              https://openclassrooms.com/courses/creez-votre-application-web-avec-java-ee/la-persistance-des-donnees-avec-jpa

                                              J'ai vérifier et revérifier les étapes et tout semble normal. Pour l'instant si je fais toutes les étapes et que je supprime le fichier persistence.xml de l'arborescence, le serveur Glassfish 4 arrive bien à "publier" le projet et j'arrive à accéder à l'Inscription via "http://localhost:8088/pro_jpa/inscription" (donc les annotations servlets fonctionnent et il n'y a pas d'exceptions au niveau du code du projet en lui-même).

                                              Maintenant, quand j'introduis le fichier persistence.xml

                                              , et que je lance le serveur il me retourne l'erreur

                                              Rien de bien explicite.... à part qu'on se doute bien que cela vient du fichier "persistence.xml" et de la conf....

                                              Les bibliothèques sont au bon endroit:

                                              La configuration de la connexion et la gestion du pool par le fichier "bonecp-datasource.xml" (mon fichier est inchangé, si ce n'est le mot de passe) a bien été ajouté aux ressources du serveur comme on le voit ici

                                              Et enfin mon persistence.xml

                                              <?xml version="1.0" encoding="UTF-8"?>
                                              <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
                                               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                               xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
                                               http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
                                                  <persistence-unit name="bdd_sdzee_PU" transaction-type="JTA">
                                                      <jta-data-source>jdbc/bonecp_resource</jta-data-source>
                                                      <class>com.entities.Utilisateur</class>
                                                      
                                                  </persistence-unit>   
                                              </persistence>



                                              Pour le serveur MySQL en lui-même je l'ai déjà redémarré, j'y accède à la fois par MySQL Workbench pour la gestion et par les projets précédents du cours via le serveur Tomcat, donc la connexion fonctionne.

                                              Je m'étais souvenu qu'on avait du ajouter la bibliothèque "mysql-connector-java-5.1.37-bin.jar" pour accéder au driver "com.mysql.jdbc.Driver", donc dans le doute j'ai aussi ajouté cette bibliothèque au lib de Glassfish mais ça ne change rien :-°

                                              Voila, à moins d'avoir loupé quelque chose d'évident justement à force de lire et relire, faire et refaire (car j'ai effacé déjà tout le projet "pro-jpa" une fois pour refaire tout depuis zéro car je bloque vraiment) et d'avoir le nez dedans...

                                              Merci d'avance ^^

                                              -
                                              Edité par Ayok 5 décembre 2015 à 18:49:21

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Dans le doute: Reboot !!     ლ(ಠ益ಠ)ლ
                                                5 décembre 2015 à 19:03:25

                                                Bon je m'auto-réponds car je suis tombé sur la "solution" par hasard juste après avoir posté (pourtant je cherche depuis 2 jours lol).

                                                il faut faire clic-droit sur le serveur Glassfish -> Monitoring -> Properties, Sélectionner Glassfish -> Cocher "Use JAR archives for deployment"

                                                Cependant si quelqu'un sait le pourquoi du comment ça serait pas mal, afin de déterminer s'il s'agit d'un contournement foireux, ou si c'est une vraie solution et pour quelle raison?

                                                Est ce que ça ne serait pas justement pour activer l'utilisation des JAR contenus dans le serveur, et comprenant notamment le Driver de connexion MySQL... ?

                                                En cas j'ouvrirai un sujet avec la solution, pour si quelqu'un a le même problème que moi, puisse chercher dans le forum et trouver la solution pour continuer et terminer le cours, car sans cette info c'est totalement bloquant...

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Dans le doute: Reboot !!     ლ(ಠ益ಠ)ლ
                                                  7 décembre 2015 à 18:41:52

                                                  Bonsoir,

                                                  Je suis en train de suivre ce cours sur les formulaires. J'ai donc réalisé mon propre .jsp, mon servlet et tout marche pour le meilleur des mondes jusque ...

                                                  Jusqu'à quand j'essaye d'afficher le message de résultat et les éventuelles erreurs. Impossible pour moi d'afficher juste le message de succès ou d'erreur !

                                                  Je fais un simple

                                                  <p>${result}</p>


                                                  Et il m'affiche véritablement "${result}" alors que je souhaite afficher la String associée à cette identifiant. (J'ai bien setAttribute à ma requête au préalable)

                                                  Quelqu'un serait tombé dessus par hasard et aurait trouvé pourquoi ? :(

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    7 décembre 2015 à 21:03:33

                                                    S'il t'affiche l'EL non interprétée avec le dollar et les accolades, alors cela signifie que soit ta JSP est mal formée, soit que tu as volontairement désactivé l'interprétation des EL. J'en parle dans je ne sais plus quel chapitre du cours, n'hésite pas à fouiller. :)
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      8 décembre 2015 à 0:37:08

                                                      Salut Ayok,

                                                      T'as vraiment raison sans cette info ça fait chier.J'ai dû abandonner le tuto(un tuto que je trouve très riche) à cause de ça.Jusqu'à preuve de contraire(plus de 5 mois) je n'ai pas trouver de solutionner,d'ailleurs je pensais que c'est un problème sans solution car j'ai cherché et recherché en vain mais tu m'as rassuré.Au fait pour mon cas c'est eclipse qui ne reconnaît pas les annotations JPA.

                                                      Par exemple tout les imports ci-dessous sont souligné en rouge.Je ne comprends vraiment pas pourquoi.Y a t-il un .jar à ajouter?J'ai vraiment besoin d'aller jusqu'à la fin de ce fameux tuto.

                                                      import javax.ejb.Stateless;
                                                      import javax.persistence.EntityManager;
                                                      import javax.persistence.NoResultException;
                                                      import javax.persistence.Query;
                                                      import javax.persistence.Column;
                                                      import javax.persistence.Entity;
                                                      import javax.persistence.GeneratedValue;
                                                      import javax.persistence.GenerationType;
                                                      import javax.persistence.Id;

                                                      Et puis quand je démarre le serveur son statut est toujours Started,Republish il n'est jamais Started,Synchronized.

                                                      Si quelqu'un a une solution merci de me guider.

                                                      -
                                                      Edité par KaskoIssoufou 8 décembre 2015 à 0:43:57

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Jacques Le Roi
                                                        9 décembre 2015 à 10:45:14

                                                        bonjour à tous. svp est ce que quelqu'un aurait un exemple d'utilisation de la méthode getRef.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          9 décembre 2015 à 14:10:44

                                                          @KaskoIssoufou: J'ai eu ce problème et je n'ai pas su d'où il venait mais j'ai changé de workspace et ça fonctionnait de nouveau. Essaies alors.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            9 décembre 2015 à 15:23:34

                                                            Coyote a écrit:

                                                            S'il t'affiche l'EL non interprétée avec le dollar et les accolades, alors cela signifie que soit ta JSP est mal formée, soit que tu as volontairement désactivé l'interprétation des EL. J'en parle dans je ne sais plus quel chapitre du cours, n'hésite pas à fouiller. :)


                                                            Bonjour Coyote,

                                                            J'ai résolu le problème en ajoutant isELIgnored="false" à mon fichier .jsp, étrange car sur ton tuto il n'est pas précisé et apparemment il fonctionne. Je suis sur Intellij 15.0.1 avec Tomcat 9.0.0.M1 : peut-être que ça viendrait de là mais j'en doute.

                                                            Dernière petite question, j'essaye de formater le résultat ainsi que les erreurs en retour de manière assez simple : affichage du résultat puis saut de ligne avec les éventuelles erreurs. Je souhaiterais savoir s'il y a un "meilleure" solution à la mienne ? Voici le code :

                                                            <c:if test="${not empty requestScope.form.result}">
                                                            <br /><br /><p>${requestScope.form.result}</p>
                                                            </c:if>
                                                            <c:if test="${not empty requestScope.form.errors}">
                                                            <ul>
                                                            <c:if test="${not empty requestScope.form.errors['email']}"><li>${requestScope.form.errors['email']}</li></c:if>
                                                            <c:if test="${not empty requestScope.form.errors['password']}"><li>${requestScope.form.errors['password']}</li></c:if>
                                                            <c:if test="${not empty requestScope.form.errors['username']}"><li>${requestScope.form.errors['username']}</li></c:if>
                                                            </ul>
                                                            </c:if>
                                                            Passez une bonne journée !
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              9 décembre 2015 à 23:28:26

                                                              kulturman a écrit:

                                                              @KaskoIssoufou: J'ai eu ce problème et je n'ai pas su d'où il venait mais j'ai changé de workspace et ça fonctionnait de nouveau. Essaies alors.

                                                              @kulturman :salut, j'ai suivi ton conseil mais le problème persiste.

                                                              si quelqu'un a une autre solution,je suis preneur.Merci d'avance!!!

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter
                                                              Jacques Le Roi

                                                              Cours Java EE - Vos questions

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown