Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours Java EE - Vos questions

    25 novembre 2014 à 21:45:50

    Salut à tous! Quelqu'un peut me dire pourquoi le code Java ci-dessous ne fonctionne pas?

    package tp_conversion;

    import java.util.Scanner;

            /**

     *

     * @author Evrard

     */

    public class Tp_conversion {

        /**

         * @param args the command line arguments

         */

        public static void main(String[] args) {

            // TODO code application logic here

            //char reponse = '0';   

            char reponse= ' ';

            char mode= ' ';

            double c,f,z;

            Scanner sc = new Scanner ("System.in");

            //String str = ' ';

            System.out.println("CONVERTISSEUR DEGRES CELSIUS ET DEGRES FAHRENHEIT");

            System.out.println("-------------------------------------------------");

                do

                {

                    do{

                       //mode= ' ';

                       System.out.println("Choisissez le mode de conversion:");   

                       System.out.println("1- Convertisseur Celsius-Fahrenheit "); 

                       System.out.println("2- Convertisseur Fahrenheit-Celsius "); 

                       //Scanner sc = new Scanner ("System.in");

                       mode= sc.nextLine().charAt(0);

                       //String str= sc.nextLine();

                       //mode= str.charAt(0);

                     if(mode !='1' && mode !='2')

                        System.out.println("Veuillez choisir un nombre entre 1 et 2:");

                    }while(mode !='1' && mode !='2');

                       if (mode == '1'){ 

                        System.out.println("Température à convertir: ");

                        c = sc.nextDouble(); 

                        sc.nextLine();

                        f= ((9.0/5.0)*c)+32.0;

                        System.out.println(c+"°C correspondent à:" +f+ "°F");

                       }

                       else if (mode== '2'){     

                        System.out.println("Température à convertir: ");

                        f = sc.nextDouble();

                        //z= f;

                        sc.nextLine();

                        c= ((f-32)*5)/9;

                        System.out.println(f+"°F correspondent à:" +c+ "°C");

                       }                

                    System.out.println("Souhaitez-vous convertir une autre température? (O/N)");

                    reponse= sc.nextLine().charAt(0);

                }while(reponse=='O');

            System.out.println("Au revoir!");

        }

    }

    • Partager sur Facebook
    • Partager sur Twitter
      26 novembre 2014 à 18:47:52

      Je me présente, je m'appelle zouhour ,j'ai 20ans, et je suis étudiante en deuxieme année licence fondamentale en informatique de gestion .. je suis  une débutante en JAVA .. 
      ça me fait plaisir d'étre une membre dans ce forum . 
      j'espére que vous pouvez m'aider a resoudre mon probléme le plus tot possible : 
      j'ai trouvé des difficultés d'ecriver ce probleme en java (eclipse): 
      Enoncé: 
      Gestion d'une salle de cinema 
      un cinema gére sa programmation et les achats de places un systéme informatique que vous devez implémenter 
      un cinema est constitué d'un certain nombre de salles 
      chaque salle est numérotée et caractérisée par le nombre de place qu'elle offre 
      l'application doit sauvegarder tous les films diffusés sachant que: 
      un film est caratérisé par son titre ,le nom de son réalisateur ,son année de réalisation ,et un descriptif textuel du film.l'application doit permettre d'afficher tous les film ainsi que d'ajouter ,de modifier ,de supprimer ou bien de rechercher un film existant. 
      l'application doit aussi permettre de gérer les séances de la semaine en cours sachant qu'il existe trois tarif pour les places(normal à 10d, tarif réduit à 6d et des places gratuite). 
      une séance est caractérisée par le film qui sera diffusé, la date et l'heure de la projection (sous la forme d'une chaine de caractére)et la salle ou la projection aura lieu. 
      l'application doit permettere la saisie et la sauvegarde des places achetées pour une séance donnée de chaque type de tarif. 
      le calcul du chiffre d'affaire permet de calculer et d'afficher le total des places vendues jusque la. 
      le atux de remplissage concerne chacune des salles de cinéma. 
      l'pplication doit au démarrage présenter un menu principal (textuel) affichant la liste des opérations suivantes: 
      1.Gestion des salles 
      2.Gestion des films. 
      3.Gestion des séances 
      4.Calculer chiffre d'affaire et taux de remplissage 
      5.Quitter l'application 
      description technique: 
      lutilisation des notions Orienté Objet (encapsulation, héritage,polymorphisme, gestion des exception..) 
      est fortement encouragée.
      • Partager sur Facebook
      • Partager sur Twitter
        26 novembre 2014 à 19:07:24

        Bonjour,

        Je suis nouveau sur le forum, et je viens vous demandez une aide. Voilà je développe une application en java et en ce moment je suis sur une vue qui me cause un peu de soucis: j'ai dans ma vue une liste déroulante de "SelectoneMenu" un champ "inputext" un bouton ajouter et un tableau de type DataTable. Et je voudrai chargé ce tableau avec les élément de ma liste déroulante et des élément saisis dans mon champs. Aussi je voudrai que chaque élément de ma liste déroulante ne figure qu'une fois dans ma datatable,mais pour le moment ça me ramène n fois un même élément de ma liste deroulante . mais je voudrai poser des contrôle de type vous ne pouvez pas selectionner plus d'une fois un même element de la liste. je vous fais parvenir mon code si vous pouvez m'aider;

        public void addtableau(){

         IManageTeledeclarationService manageTeledeclaration = (IManageTeledeclarationService) Component.getInstance("ManageTeledeclarationService");

         List<RuboBean> listrubr = manageTeledeclaration.searchListRubrsameBorV(ConstUtil.CODE_TYPE_DOC_ID10,new BigDecimal(1));

         for (int i=0; i<listrubr.size(); i++){ 

        if(getLibrubr().equals(listrubr.get(i).getRubr().getcRubimp()+"")){

        regr.setLibrubr(listrubr.get(i).getRubr().getlRubimp()); 

        regr.setRubr(listrubr.get(i).getRubr());

        break;

        }

         }

         regroup.add(regr); 

        }

        • Partager sur Facebook
        • Partager sur Twitter
        LAVISION
          27 novembre 2014 à 6:41:47

          Bonjour.

          Je n'ai pas bien saisi le passage de 2 paramètres en jsf 2.2 (en GET).

          Ex:sur une page contenant une datatable avec à chaque ligne des objets un lien delete par ex ,comment faire pour appeler le mangedbean,réaliser le traitement et renvoyer vers la vue(avec ici les parametres en jsp classique action=delete&id=idObjet).Un grand merci.

          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2014 à 14:07:52

            Bonjour à tous,

            Très ancien visiteur du site du Zéro...

            En fait on n'est jamais mieux servi que par soi-même. Je crée donc bcp de petit programme pour me facilité la vie et je dois dire que n'étant pas du tout développeur j'ai tout appris en autodidacte grâce à ce site et google.

            MERCI ÉNORMÉMENT A M@teo21 omniprésent dans mes apprentissages et à tous les participants. (et depuis mon retour il est en video... je l'imaginais pas comme ca ;)

            Aujourd'hui j'ai un petit soucis dans le cours de JEE car j'aimerai me faire un petit site dynamique mais je diffère un peu de l'installation de base et aimerai savoir s il est possible d'utilisé Eclipse et un Tomcat installé sur un Synology.

            car si je donne le repertoire de l'install, eclipse m'ecrit :  "Unknown version of Tomcat was specified." j'ai fait toutes les version et autre... Si quelqu'un à surmonté ce probleme merci d'avance.

            Bonne continuation.

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              27 novembre 2014 à 21:08:18

              Bonjour,

              Je ne comprends pas bien où est installé ton eclipse. Est-il en local où sur ton synology ?

              A mon sens il serait préférable d'utiliser eclipse avec un tomcat embarqué pour tes développements, et d'utiliser tomcat (en standalone) du synology pour un environnement de recette. C'est grossièrement ce que je fais pour mes projets personnels et ça marche très bien ;)

              • Partager sur Facebook
              • Partager sur Twitter
                28 novembre 2014 à 14:51:42

                Bonjour

                J'ai un problème avec glassfish, j'ai d’abord télécharger les plugins avec Download additional server

                adapters, là j’obtiens "glassfish 3.1" et "glassfish 4.0" j'ai pas la version 3.1.2.2, j'ai comme même

                essai avec les deux je sélectionne je click sur suivent il me demande le chemin du server je le donne il le

                détecte normal j'ai le jre 6 et 7 mais impossible de clicker sur "next" ou "finish" je ne sais pas ou et le

                problème. Alors j'ai télécharger la dernier version d'eclipse pour java EE là c'est pire quand j’essaie de

                télécharger les plugins je les trouve meme pas dans la liste.

                est-ce que quelqu'un saie quoi faire ?

                merci
                • Partager sur Facebook
                • Partager sur Twitter
                  29 novembre 2014 à 0:10:44

                  je commence juste à programmer en jee et je rencontre presque le meme probleme au debut ca marchais bien et puis tout d'un coup j'arrive pas à lancer mes page jsp  erreur 404 sachant que j'y arrive quand je la lance avec la servlet svp quelqun pour m'aider
                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 novembre 2014 à 22:06:45

                    Merci pour ton message Pappalourdo.

                    Oui du coup j'ai installé Tomcat aussi sur mon ordinateur perso mac pour tester ce que je fais et je copierai après sur mon serveur synology.

                    juste pour info. je développe sur un mac. et j'ai un nas synology avec tomcat et MariaDB dessus. Je voulais que tout soit deja centralisé sur le nas et fonctionnel. Comme c'est juste un développement personnel. Mais j'ai pas trouvé la solution. tant pis ca marche pour l'instant tout en local j'ai pas encore testé la BD qui elle j'espere pourra rester sur le serveur nas car j'ai pas envie d'en installer une autre sur mon ordi.. ;)

                    Par contre je découvre le cours, j'en avais fait un autre il y a fort longtemps... Je ne suis pas fan du mode vidéo je préférai quand tout était écrit. Et le pire c'est ce nouveau JSTL... je ne comprends pas l’intérêt de rajouter des couches xml bien lente qui n'apporte rien mis a part une syntaxe bien plus longue et de nouveau trucs a apprendre alors qu'une petite librairie en java aurai fait l'affaire. enfin... il dois y avoir une raison mais pour l'instant tout ce qui a été argumenté me semble non convaincant.

                    Mais ça ne remet pas en cause ce super cours... encore merci.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      30 novembre 2014 à 21:20:32

                      bonjour

                      j'ai un problème losque je lance le serveur eclipse ne repond pas et se bloque.

                      quels sont les reglages sur le preferance de serveur ou sur le windows

                      qui me permet de resoud le problème.
                      merci 

                      • Partager sur Facebook
                      • Partager sur Twitter
                        1 décembre 2014 à 16:38:47

                        bonjour

                        pourquoi si je lance le serveur il m'affiche

                        Etat HTTP 404 - /test2/Acceuil.jsp

                        type Rapport d''état

                        message /test2/Acceuil.jsp

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


                        Apache Tomcat/8.0.15

                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 décembre 2014 à 9:14:58

                          comment je peut resoudre ce problème

                          Several ports (8005, 8080, 8009) required by apache-tomcat-8.0.15 at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            2 décembre 2014 à 19:55:47

                            C'est pourtant assez clair, les ports sont déjà utilisés. Tu dois sans doute avoir une autre instance de tomcat en cours d'utilisation.

                            ctrl+alt+suppr, puis tu kill tomcat (process javaw.exe s'il s'agit du tomcat embarqué par eclipse).

                            Sinon tu changes les ports en double-cliquant sur "serveur".

                            • Partager sur Facebook
                            • Partager sur Twitter
                              3 décembre 2014 à 0:26:03

                              salut je voudrais instancier un arbre d'étudiant à partir d'un fichier utilisant la méthode suivante

                              public void lire(File f) throws FileNotFoundException{
                              
                                     Scanner in=new Scanner(f);
                              
                                     while(in.hasNext())
                              
                                     {   
                              
                                         String code=in.next();
                              
                                         double note=in.nextDouble();
                              
                                         this.inserer(new Etudiant1(code,note));
                              
                                     }

                              mais ça me fait sortir cette erreur merci de m'aider 

                              Exception in thread "main" java.util.InputMismatchException

                              at java.util.Scanner.throwFor(Scanner.java:864)

                              at java.util.Scanner.next(Scanner.java:1485)

                              at java.util.Scanner.nextDouble(Scanner.java:2413)

                              at tp444.LesEtudiants1.lire(LesEtudiants1.java:32)

                              at tp444.Tp444.main(Tp444.java:40)

                              Java Result: 1

                              • Partager sur Facebook
                              • Partager sur Twitter
                              people often forget that kindness is free
                                3 décembre 2014 à 0:34:04 - Message modéré pour le motif suivant : doublon


                                people often forget that kindness is free
                                  6 décembre 2014 à 4:35:35

                                  Bonjour y'a t-il un tutoriel un peu plus avancé sur JSF 2.2 et primefaces sur le site?

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    6 décembre 2014 à 17:41:40

                                    Espritlune a écrit:

                                     Je ne suis pas fan du mode vidéo je préférai quand tout était écrit. 

                                    Si tu préfères la version écrite, le cours en version livre (en ligne, en PDF, en ebook ou en papier) existe toujours, voir lien dans ma signature.

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      8 décembre 2014 à 23:14:00

                                      Bonjours à tous,

                                       J'ai commencé le cours sur Java et je suis un peu pour lancer mes projet depuis le terminal. Je suis sous MAC OS X Yosemite.J'arrive bien à compile mon programme avec "javac", le problème c'est lorsque j'essaye de démarrer le programme avec la commande "java sdz1", j'ai ce message : Erreur : impossible de trouver ou charger la classe principale sdz1.

                                      Je suis novice dans Java et je suis sous MAC.


                                      Cdlt,

                                       ABDIN Samy

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        9 décembre 2014 à 12:24:56

                                        Quelqu'un peut-il m'aider ?

                                        Depuis que j'ai installé MySQL server j'ai des soucis avec mon code sur éclipse Luna ainsi qu'avec tomcat8. J'ai suivie les 4 premières partie du Mooc sans vraiment de problème. Et la avec la partie 5, l'embrouille.  Le serveur tomcat8 qui fonctionne plus (Could not launch in profiling mode because no profilers are configured.) Et puis, j'ai cet erreur : "The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path".

                                        J'ai beau désinstallé Mysql mais le problème persiste. Je suis largué. Et je ne peut plus avancé mon exercice.

                                        -
                                        Edité par alfrai 9 décembre 2014 à 12:25:42

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          9 décembre 2014 à 21:05:55

                                          Bonsoir à tous,

                                          j'ai un peu de mal concernant le design pattern DAO.

                                          Lorsque cela concerne un fichier (lecture, écriture, modification ,...) est ce que cela concerne le DAO ? 

                                          En utilisant une Factory, dans le cas où je dois développer une application utilisant un nombre de DAO important, est ce qu'une seule Factory suffit ou dois-je en créer plusieurs ? Si je dois en créer plusieurs, comment le définir ? 

                                          Merci d'avance 

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            10 décembre 2014 à 15:55:40

                                            Bonjour,

                                            Je suis la formation JEE pour réactualiser certaines connaissances.

                                            Je suis supposé faire la correction de projet, toutefoisaprès avoir importer le projet depuis des sources existantes.

                                            Quand je veux exécuter le Run, impossible d'associer mon server localhost avec ce projet, l'option est disable.

                                            Que puis je faire pour l'associer et pouvoir exécuter ce projet.

                                            Merci d'avance

                                            -
                                            Edité par Sokarion 10 décembre 2014 à 16:16:47

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              10 décembre 2014 à 22:44:45

                                              Il s'agit sans doute d'un pb de build path. L'application ne doit pas compiler en local.

                                              En faisant : Projet > Preferences > Build Path, vérifie la librairie de la JRE qui est incluse, et renseigne la bonne si besoin.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                14 décembre 2014 à 17:30:40

                                                Bonjour,

                                                Une question sur expression language. Comment obtenir l'auto-complétion de celle-ci dans éclipse nativement.
                                                Si cela est impossible sans ajout de libs, expression language est t-il obsolète en java-ee pure ?

                                                Sans cette fonction EL est complètement inutile à mon sens, comment les développeurs connaîtront les variables que j'ai mis à disposition dans le contrôleur au niveau de leur vue ? En allant voir à chaque fois le contrôleur et toutes les méthodes associées ainsi que les beans chaque fois qu'il en auront besoin ? Cela me semble extrêmement pénible et mal pensé.

                                                Je suis actuellement sur une jspf qui met à disposition les variables, j'ai remarqué que beaucoup de CMS java-ee pure font la même chose et délaisse complètement les EL devant leur manque de praticité dans un projet concret. (exemple : JCMS de la société jalios).

                                                JSTL un peu le même combat, aucune mise à jour depuis 2011, rentre en conflit avec d'autre lib (le foreach qui ne marche pas sur app engine et d'autre, conflit avec standar.lib ?)  Là aussi la plupart des produits utilisent leur propres tagLib et laisse tombé JSTL.

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Anonyme
                                                  14 décembre 2014 à 19:52:43

                                                  Malheureusement il s'agit d'un interfaçage, d'un communication entre le "back" (développeur java) et le "front" (intégrateur-web).

                                                  Tu es obligé d'aller dans le contrôleur pour voir quelles sont les variables mises à disposition.
                                                  En général, si les choses sont bien faites, on met un POJO qui correspond à l'ensemble des variables publiées. Ainsi il suffit d'aller voir ce que contient ce pojo pour connaître l'ensemble des variables mises à disposition.

                                                  Mais dans la pratique, les développeurs mettent plein de variables à disposition, parfois à des endroits dépassant la couche de présentation (par exemple dans un service... et c'est une très mauvaise idée !). Ainsi en effet il arrive de temps en temps d'avoir du mal à identifier d'où vient une variable... au développeur de bien coder :) 

                                                  -
                                                  Edité par Anonyme 14 décembre 2014 à 19:53:02

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    14 décembre 2014 à 20:53:04

                                                    Je suis partie sur un bon vieux fichier init.jspf :
                                                    loggedMember  : Retourne le membre logué ou null si visiteur
                                                    isLogged : indique si le visiteur est logué
                                                    isAdmin : indique si le membre est un admin.

                                                    De plus ${loggedMember.démerdeToiATrouverMesMéthodesEtAttributs}
                                                    Me semble moins pratique que <%= loggedMember. CTRL+ESPACE = eclipseMeDonneLesMéthodesAvecLaJavadoc %>

                                                    Ainsi que ${ CTRL + ESPACE = vaVoirAilleur}
                                                    Alors que <%= CTRL + ESPACE = loggedMember ; isLogged ; isAdmin ; toutesMesVariablesDispo %> 

                                                    Extrêmement déçu par EL. Le contre gain est vraiment énorme.

                                                    C'est même le modèle MVC qui utilise seulement les servlet comme contrôleur qui me semble être dépassé en pratique. Je tente le couple servlet avec une jspf qui forment un contrôleur (servlet/jspf) voir si ça me plaira plus que servlet/EL.

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Anonyme
                                                      14 décembre 2014 à 21:13:30

                                                      Je suis d'accord avec toi sur cette constatation, mais le fait d'utiliser les scriplets (<% %>) et de passer par plein de méthodes n'est pas une bonne pratique de développement.

                                                      Non seulement il ne faut utiliser que des getters côté vue (c'est pour ça qu'en EL on n'utilise que le .attribute pour appeler les getters et éviter de mettre trop de traitement métier... même si on peut faire un getter avec du code métier mais dans ce cas on ne respecte pas la spécification JavaBeans), mais utiliser autre chose que des getters (<%= object.maFonction() %> ) fait que l'on déporte la logique métier côté vue, et ce n'est pas une bonne façon de procéder.

                                                      Par ailleurs, si l'objet initial possède plein d'objets sous-jacents (objet 1 contenant un objet 2, qui contient lui-même un objet 3..), c'est que le code est trop couplé entre la vue et le contrôleur.

                                                      On ne devrait avoir en théorie que des types primitifs, voire des list/map qui seraient accessibles côté jsp. Une JSP ne doit faire que de l'affichage, rien d'autre !
                                                      Tous les traitements métiers devraient être faits avant l'accès à la jsp. Cela ferait qu'on associerait un DTO à la vue, et on pourrait très facilement changer la couche de présentation (par exemple passer d'une jsp à du handlebars).

                                                      Cependant, dans les faits on n'agit rarement comme cela et la complexité du code devient vite atroce...

                                                      Voit les EL comme une évolution qui permet à un intégrateur web de directement coder dans une application web écrite en Java sans avoir besoin de connaître le java.

                                                      -
                                                      Edité par Anonyme 14 décembre 2014 à 21:17:04

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        14 décembre 2014 à 22:54:43

                                                        Je trouve que l'utilisation de scriplets plus sympa surtout pour les développeurs qui devront coder les JSP.


                                                        init.jsf :

                                                        <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="jstl" %><%
                                                        %><%@ page import="java.util.*" %><%
                                                        %><%@ page import="fr.acemicka.actupc.*" %><%
                                                        %><%@ page import="fr.acemicka.actupc.type.*" %><%
                                                        	final Member loggedMember = Manager.getLoggedMember();
                                                        	final Boolean isLogged =  loggedMember != null;
                                                        %>	
                                                        web.xml :

                                                        <jsp-config>
                                                                <jsp-property-group>
                                                                    <url-pattern>*.jsp</url-pattern>
                                                                    <include-prelude>/WEB-INF/jsp/init.jspf</include-prelude>
                                                                </jsp-property-group>
                                                            </jsp-config>

                                                        Ce qui donne à l'usage dans les jsp pour les développeurs :

                                                              <ul class="nav navbar-nav navbar-right">   
                                                                <%-- Gestion du membre --%> 
                                                              	<jstl:choose> 
                                                              		<%-- Visiteur --%>    	
                                                              		<jstl:when test="<%= !isLogged %>">
                                                        	        	<li>
                                                        	        		<a class="navbar-brand" href="<%= SteamAutentification.getLoginUrl(request.getServletPath()) %>">
                                                        	        			<img src="http://steamcommunity-a.akamaihd.net/public/images/signinthroughsteam/sits_small.png" alt="Connection par Steam"/>
                                                        	        		</a>
                                                        	        	</li>
                                                        	        </jstl:when>
                                                        	        <%-- Utilisateur connecté --%> 
                                                        	        <jstl:otherwise>
                                                        		        <li class="dropdown">
                                                        		          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
                                                        		          	<img class="navbar-avatar" src="<%= loggedMember.getAvatar() %>" alt="" /> 
                                                                            <%= loggedMember.getName() %>
                                                                            <span class="caret"></span>
                                                                          </a>
                                                        		         
                                                        		          <ul class="dropdown-menu dropdown-steam" role="menu">
                                                        		            <li><a class="dropdown-link" href="<%= Util.getLogOffUrl() %>"><span class="glyphicon-dropdown glyphicon glyphicon-log-out" aria-hidden="true"></span> Déconnexion</a></li>
                                                        
                                                        		          </ul>
                                                        		        </li>
                                                                	</jstl:otherwise>        	
                                                                </jstl:choose>        
                                                              </ul>


                                                        Les jsp sont tout aussi claires mais avec les scriplets sont plus simple et rapide à développer qu'avec EL. l'inclusion général de la jsp init.jspf peut même être supprimée pour une déclaration explicite dans chaque jsp histoire que chaque développeur puisse savoir d'ou viennent les variables. (mais ça me gonfle de faire un include dans chaque jsp)

                                                        Les JSP sont bcp plus flexibles que leurs sœurs les servlet, le tout servlet en contrôleur ne semble pas répondre au besoin des applications modernes qui se veulent modulaire et modulable. Les EL montre une faiblesse mais finalement la limite est plus profonde et peut être que le "contrôleur = servlet seul" devrait être remit en cause... un jour... En même de nos jours à par moi je ne sais pas si beaucoup de gens code encore en java-ee pure ^^

                                                        En plus je n'ai pas accès aux annotations des servlet 3.0 je dois modifier le web.xml ce qui rend l'application encore moins modulaire. (app engine limité au 2.2) Pourtant l'arrivé des nouvelle annotation (@WebServlet, @ServletFilter, etc...) donnait de la flexibilité, mais google ne semble pas décidé... De toute façon ça ne résout pas tout les problème des servlet en unique contrôleur.

                                                        Exemple de techno qui se passe de servlet (ou presque, une servlet général et les jsp accessibles en direct) :
                                                        http://www.bretagne.fr/internet/jcms/TF071112_5041/le-conseil-regional
                                                        qui n'est en faite rien d'autre que :
                                                        http://www.bretagne.fr/internet/jcms/publication.jsp?id=TF071112_5041

                                                        -
                                                        Edité par acemicka 14 décembre 2014 à 22:57:11

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        Anonyme
                                                          14 décembre 2014 à 23:42:57

                                                          Heu tu sais que le fait de faire une url de type../toto.jsp ne veut pas dire qu'il n'y a pas de contrôleur ?

                                                          Certains frameworks (notamment Spring) ont en effet une servlet générale, et ont mis en place un objet dédié à la page : le contrôleur. C'est le MVC 2. Ensuite pour l'url de la page, on peut l'implémenter comme on le souhaite.

                                                          Quoi qu'il en soit, moi je préfère l'utilisation des EL car écrire directement du Java dans la JSP (les scriplets ce n'est que ça) c'est horrible comme façon de procéder. Et encore, on peut aller plus loin en utilisant freemarker par exemple la vue n'a même plus les imports java dans le fichier !

                                                          Selon moi, une vue doit être codée par un développeur front-end et doit contenir le moins de code "back" possible. Pour cela on a créé les moteurs de template.

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            15 décembre 2014 à 1:51:48

                                                            Oui en MVC un tu n'as qu'un contrôleur mais là tu appel la JSP soit directement la vue, certes derrière un contrôleur mais une partie du contrôleur est donné à la vue aux travers de la JSP.

                                                            D’ailleurs les JSP ne sont pas dans web-inf tu peux les appeler (toutes) hors contrôleur :

                                                            http://www.bretagne.fr/jcore/modal/confirm.jsp 
                                                            http://www.loire.fr/jcore/modal/confirm.jsp 

                                                            Après, toute ces URL peuvent être bloquées mais ça montre bien que le contrôleur n'effectue qu'une partie du travail et non la totalité. Une partie est détachée à la JSP elle même et elles ne font pas partie de web-inf. Surtout les formulaires.

                                                            L'architecture à ses points faibles mais aussi ses avantages, c'est d’ailleurs une dès plus simple (la plus simple même) et puissante que j'ai vue, mais ne me convient pas. Je ne veux pas de jsp hors de web-inf.

                                                            freemarker est pour moi de la contribution, je le met en place si un contributeur avancé veut créer des gabarit complexe et que tinyMCE ne peut plus suivre (boucle, conditionnel, utilisation de variable mise à disposition, etc...), mais certainement pas aux développeurs java-ee.
                                                            Pourquoi encore une syntaxe différente sur tes pauvres développeurs ?

                                                            Finalement ce que je retient de beaucoup de techno soit disant venu "simplifier" c'est :
                                                            Le mieux est l'ennemie du bien.

                                                            -
                                                            Edité par acemicka 15 décembre 2014 à 2:42:24

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            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