Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours Java EE - Vos questions

    7 novembre 2014 à 16:39:46

    Bonjour à tous, 

    je viens de commencer le cours. et je suis bloqué au niveau de l'installation de "apache tomcat"

    En fait, à la dernière étape (chmod +x /Library/Tomcat/bin/*.sh) j'ai un message me disant que ce fichier n'existe pas! (chmod: /Library/Tomcat/bin/*.sh: No such file or directory).

    Je ne sais pas si je dois le créer manuellement ? Pourtant tous les tutos d'installation de tomcat sur Mac OS suivent la même procédure que Mathieu.

    je suis perdu :(

    Merci d'avance pour votre aide.

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      7 novembre 2014 à 16:57:50

      Bonjour,

      Place toi dans Tomcat/bin et fait un ls -al. Poste le contenu de la réponse ici :)


      Normalement dans tomcat/bin tu as des fichiers .bat pour un démarrage sous widows (entre autre catalina.bat et startup.bat) ainsi que leurs homologues en .sh pour un démarrage sur un système UNIX (Mac ou Linux).

      • Partager sur Facebook
      • Partager sur Twitter
        7 novembre 2014 à 17:40:48

        Problème résolu :D. La démarche pour ceux que sa pourrait intéresser:

        - je supprime le lien symbolique précédemment crée : sudo rm -f /Library/Tomcat

        - je refais un nouveau lien symbolique: sudo ln -s /usr/local/apache-tomcat-8.0.14 /Library/Tomcat

        Vous remarquerez qu'il manque "/" après apache-tomcat-8.0.14.

        le reste des étapes de config sont les mêmes.

        PS: je suis sur MacBook pro 0S X 10.8.5 



        -
        Edité par kfgregoire 7 novembre 2014 à 17:41:39

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          7 novembre 2014 à 17:48:49

          Tu aurais simplement pu faire un

          cd /usr/local/apache-tomcat-8.0.14/
          chmod +x bin/*.sh

          • Partager sur Facebook
          • Partager sur Twitter
            9 novembre 2014 à 17:46:37

            Bonjour,

            je suis le cours "développez des sites web avec javaEE" et pour la première activité il faut utiliser le tag HTML5 "number" (très pratique) , il s'avère que dans mon cas (Windows 7) et surement pour d'autres, le navigateur interne d’éclipse Luna que j'utilise rarement mais que vous utilisez dans la vidéo avec succès sous IOS, ne reconnait pas ce tag d' HTML5, de même pour IE 11 . Seul firefox (je n'ai pas essayé chrome) que j'utilise habituellement fonctionne. Est ce un problème de configuration que je peux résoudre? si c'est un problème de compatibilité des navigateurs, cela ne va t il pas poser des problèmes à beaucoup lors des corrections?

            Merci.

            • Partager sur Facebook
            • Partager sur Twitter
              9 novembre 2014 à 18:41:00

              Bonsoir a tous.j'ai une application web dans laquelle il ya plusieurs utilisateurs qui se connectent et sur la page de chaque utilisateur il ya un champ . de saisie et un bouton.ce que je veut savoir c'ets comment savoir si c'est tel ou tel utilisateur qui envoi ce qu'il a saisie dans ce champ .
              • Partager sur Facebook
              • Partager sur Twitter
                9 novembre 2014 à 22:25:23

                TBoris a écrit:

                Bonsoir a tous.j'ai une application web dans laquelle il ya plusieurs utilisateurs qui se connectent et sur la page de chaque utilisateur il ya un champ . de saisie et un bouton.ce que je veut savoir c'ets comment savoir si c'est tel ou tel utilisateur qui envoi ce qu'il a saisie dans ce champ .


                C'est le principe des sessions utilisateurs que tu dois appliquer. (Re)lis le chapitre du cours au format livre (cf. lien dans ma signature), tu devrais y trouver ce que tu cherches. :)
                • Partager sur Facebook
                • Partager sur Twitter
                  10 novembre 2014 à 2:06:59

                  Bonsoir,

                  est ce qu'il y a moyen de ne pas travailler avec les Servlets ?

                  qu'elle sont les autres alternatives ? et qu'est ce que vous me conseillez pour suivre une bonne architecture dans mon application ?

                  Merci,

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    10 novembre 2014 à 7:25:03

                    Oui, en général on ne travaille pas directement sur les servlet, cela se fait de façon plus ou moins cachée.
                    En MVC2 par exemple on utilise qu'UNE SEULE servlet qui joue le rôle de dispatcher : elle va effectuer les traitements sur la requête, puis rediriger sur le bon contrôleur qui lui va traiter les informations spécifiques à la page. 

                    En tant que développeur, on travaille directement sur ce composant "Controller" (plutôt haut niveau) qui lui va correspondre à une page et non sur la servlet qui est trop bas niveau.

                    Les frameworks (en tout cas ceux qui implémentent le MVC2) implémentent leur propre servlet.

                    Voici par exemple comment est fait le coeur de Spring framework.

                    FrameworkServlet

                            /**
                    	 * Delegate GET requests to processRequest/doService.
                    	 * <p>Will also be invoked by HttpServlet's default implementation of {@code doHead},
                    	 * with a {@code NoBodyResponse} that just captures the content length.
                    	 * @see #doService
                    	 * @see #doHead
                    	 */
                    	@Override
                    	protected final void doGet(HttpServletRequest request, HttpServletResponse response)
                    			throws ServletException, IOException {
                    
                    		processRequest(request, response);
                    	}
                    
                    	/**
                    	 * Delegate POST requests to {@link #processRequest}.
                    	 * @see #doService
                    	 */
                    	@Override
                    	protected final void doPost(HttpServletRequest request, HttpServletResponse response)
                    			throws ServletException, IOException {
                    
                    		processRequest(request, response);
                    	}
                    
                            /**
                    	 * Process this request, publishing an event regardless of the outcome.
                    	 * <p>The actual event handling is performed by the abstract
                    	 * {@link #doService} template method.
                    	 */
                    	protected final void processRequest(HttpServletRequest request, HttpServletResponse response)
                    			throws ServletException, IOException {
                    
                    		long startTime = System.currentTimeMillis();
                    		Throwable failureCause = null;
                    
                    		LocaleContext previousLocaleContext = LocaleContextHolder.getLocaleContext();
                    		LocaleContext localeContext = buildLocaleContext(request);
                    
                    		RequestAttributes previousAttributes = RequestContextHolder.getRequestAttributes();
                    		ServletRequestAttributes requestAttributes = buildRequestAttributes(request, response, previousAttributes);
                    
                    		WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(request);
                    		asyncManager.registerCallableInterceptor(FrameworkServlet.class.getName(), new RequestBindingInterceptor());
                    
                    		initContextHolders(request, localeContext, requestAttributes);
                    
                    		try {
                    			doService(request, response);
                    		}
                    		catch (ServletException ex) {
                    			failureCause = ex;
                    			throw ex;
                    		}
                    		catch (IOException ex) {
                    			failureCause = ex;
                    			throw ex;
                    		}
                    		catch (Throwable ex) {
                    			failureCause = ex;
                    			throw new NestedServletException("Request processing failed", ex);
                    		}
                    
                    		finally {
                    			resetContextHolders(request, previousLocaleContext, previousAttributes);
                    			if (requestAttributes != null) {
                    				requestAttributes.requestCompleted();
                    			}
                    
                    			if (logger.isDebugEnabled()) {
                    				if (failureCause != null) {
                    					this.logger.debug("Could not complete request", failureCause);
                    				}
                    				else {
                    					if (asyncManager.isConcurrentHandlingStarted()) {
                    						logger.debug("Leaving response open for concurrent processing");
                    					}
                    					else {
                    						this.logger.debug("Successfully completed request");
                    					}
                    				}
                    			}
                    
                    			publishRequestHandledEvent(request, startTime, failureCause);
                    		}
                    	}

                    DispatcherServlet.java

                            /**
                    	 * Exposes the DispatcherServlet-specific request attributes and delegates to {@link #doDispatch}
                    	 * for the actual dispatching.
                    	 */
                    	@Override
                    	protected void doService(HttpServletRequest request, HttpServletResponse response) throws Exception {
                    		if (logger.isDebugEnabled()) {
                    			String resumed = WebAsyncUtils.getAsyncManager(request).hasConcurrentResult() ? " resumed" : "";
                    			logger.debug("DispatcherServlet with name '" + getServletName() + "'" + resumed +
                    					" processing " + request.getMethod() + " request for [" + getRequestUri(request) + "]");
                    		}
                    
                    		// Keep a snapshot of the request attributes in case of an include,
                    		// to be able to restore the original attributes after the include.
                    		Map<String, Object> attributesSnapshot = null;
                    		if (WebUtils.isIncludeRequest(request)) {
                    			attributesSnapshot = new HashMap<String, Object>();
                    			Enumeration<?> attrNames = request.getAttributeNames();
                    			while (attrNames.hasMoreElements()) {
                    				String attrName = (String) attrNames.nextElement();
                    				if (this.cleanupAfterInclude || attrName.startsWith("org.springframework.web.servlet")) {
                    					attributesSnapshot.put(attrName, request.getAttribute(attrName));
                    				}
                    			}
                    		}
                    
                    		// Make framework objects available to handlers and view objects.
                    		request.setAttribute(WEB_APPLICATION_CONTEXT_ATTRIBUTE, getWebApplicationContext());
                    		request.setAttribute(LOCALE_RESOLVER_ATTRIBUTE, this.localeResolver);
                    		request.setAttribute(THEME_RESOLVER_ATTRIBUTE, this.themeResolver);
                    		request.setAttribute(THEME_SOURCE_ATTRIBUTE, getThemeSource());
                    
                    		FlashMap inputFlashMap = this.flashMapManager.retrieveAndUpdate(request, response);
                    		if (inputFlashMap != null) {
                    			request.setAttribute(INPUT_FLASH_MAP_ATTRIBUTE, Collections.unmodifiableMap(inputFlashMap));
                    		}
                    		request.setAttribute(OUTPUT_FLASH_MAP_ATTRIBUTE, new FlashMap());
                    		request.setAttribute(FLASH_MAP_MANAGER_ATTRIBUTE, this.flashMapManager);
                    
                    		try {
                    			doDispatch(request, response);
                    		}
                    		finally {
                    			if (WebAsyncUtils.getAsyncManager(request).isConcurrentHandlingStarted()) {
                    				return;
                    			}
                    			// Restore the original attribute snapshot, in case of an include.
                    			if (attributesSnapshot != null) {
                    				restoreAttributesAfterInclude(request, attributesSnapshot);
                    			}
                    		}
                    	}
                    
                            /**
                    	 * Process the actual dispatching to the handler.
                    	 * <p>The handler will be obtained by applying the servlet's HandlerMappings in order.
                    	 * The HandlerAdapter will be obtained by querying the servlet's installed HandlerAdapters
                    	 * to find the first that supports the handler class.
                    	 * <p>All HTTP methods are handled by this method. It's up to HandlerAdapters or handlers
                    	 * themselves to decide which methods are acceptable.
                    	 * @param request current HTTP request
                    	 * @param response current HTTP response
                    	 * @throws Exception in case of any kind of processing failure
                    	 */
                    	protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception {
                    		HttpServletRequest processedRequest = request;
                    		HandlerExecutionChain mappedHandler = null;
                    		boolean multipartRequestParsed = false;
                    
                    		WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(request);
                    
                    		try {
                    			ModelAndView mv = null;
                    			Exception dispatchException = null;
                    
                    			try {
                    				processedRequest = checkMultipart(request);
                    				multipartRequestParsed = (processedRequest != request);
                    
                    				// Determine handler for the current request.
                    				mappedHandler = getHandler(processedRequest);
                    				if (mappedHandler == null || mappedHandler.getHandler() == null) {
                    					noHandlerFound(processedRequest, response);
                    					return;
                    				}
                    
                    				// Determine handler adapter for the current request.
                    				HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());
                    
                    				// Process last-modified header, if supported by the handler.
                    				String method = request.getMethod();
                    				boolean isGet = "GET".equals(method);
                    				if (isGet || "HEAD".equals(method)) {
                    					long lastModified = ha.getLastModified(request, mappedHandler.getHandler());
                    					if (logger.isDebugEnabled()) {
                    						logger.debug("Last-Modified value for [" + getRequestUri(request) + "] is: " + lastModified);
                    					}
                    					if (new ServletWebRequest(request, response).checkNotModified(lastModified) && isGet) {
                    						return;
                    					}
                    				}
                    
                    				if (!mappedHandler.applyPreHandle(processedRequest, response)) {
                    					return;
                    				}
                    
                    				try {
                    					// Actually invoke the handler.
                    					mv = ha.handle(processedRequest, response, mappedHandler.getHandler());
                    				}
                    				finally {
                    					if (asyncManager.isConcurrentHandlingStarted()) {
                    						return;
                    					}
                    				}
                    
                    				applyDefaultViewName(request, mv);
                    				mappedHandler.applyPostHandle(processedRequest, response, mv);
                    			}
                    			catch (Exception ex) {
                    				dispatchException = ex;
                    			}
                    			processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException);
                    		}
                    		catch (Exception ex) {
                    			triggerAfterCompletion(processedRequest, response, mappedHandler, ex);
                    		}
                    		catch (Error err) {
                    			triggerAfterCompletionWithError(processedRequest, response, mappedHandler, err);
                    		}
                    		finally {
                    			if (asyncManager.isConcurrentHandlingStarted()) {
                    				// Instead of postHandle and afterCompletion
                    				mappedHandler.applyAfterConcurrentHandlingStarted(processedRequest, response);
                    				return;
                    			}
                    			// Clean up any resources used by a multipart request.
                    			if (multipartRequestParsed) {
                    				cleanupMultipart(processedRequest);
                    			}
                    		}
                    	}
                    En particulier, on voit que les méthodes doPost et doGet appellent une méthode processRequest, qui appelle doService, et qui appelle enfin doDispatch qui va appeler le bon contrôleur de page à la ligne contenant ha.handle(processedRequest, response, mappedHandler.getHandler());
                    Côté dev ensuite, nous n'avons qu'à configurer le fichier web.xml pour utiliser cette servlet, et coder ensuite le contrôleur de page qui contiendra le code spécifique à la page.. en respectant les règles du framework pour que celui-ci soit connu du contexte.
                    web.xml
                       <servlet>
                            <servlet-name>spring</servlet-name>
                            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                            <load-on-startup>1</load-on-startup>
                        </servlet>
                    <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
                    On voit dans cet exemple qu'UNE SEULE servlet est appelée pour toutes les pages (car /*), et qu'elle correspond à une classe interne du framework (celle donnée ci-dessus), contrairement au cours présenté par OC où on définit une servlet par page (qui correspond au pattern MVC et qui n'est plus tellement utilisé).
                    C'est ensuite la classe DispatcherServlet qui appellera le bon contrôleur de page. Les développeurs travaillent ensuite sur des Controller et pas directement sur un objet HttpServlet !
                    Ce n'est qu'un exemple parmi tant d'autres. L'objectif de ce cours étant surtout de partir de zéro en faisant tout soi-même, et de montrer ce qu'il y a derrière un framework.
                    Voici une explication détaillée des patterns architecturaux pour le web : https://mermet.users.greyc.fr/Enseignement/CoursPDF/MVC.pdf

                    -
                    Edité par Anonyme 10 novembre 2014 à 7:59:16

                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 novembre 2014 à 17:22:19

                      @Pappalourdo, j'apprécie énormément tes explication c'est devenu plus clair maintenant, car à l'école, nous avons élaboré des application web en JEE ou SpringFramework, mais nous n'avons jamais implémenté une Servlets, c'est toujours avec les annotation qu'on travaillait.

                      ce que nous avons mis dans web.xml

                      <servlet>
                      		<servlet-name>resteasy-servlet</servlet-name>
                      		<servlet-class>
                      			org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
                      	</servlet>
                      
                      	<servlet-mapping>
                      		<servlet-name>resteasy-servlet</servlet-name>
                      		<url-pattern>/rest/*</url-pattern>
                      	</servlet-mapping>
                      
                      	<servlet>
                      		<servlet-name>Faces Servlet</servlet-name>
                      		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                      		<load-on-startup>1</load-on-startup>
                      	</servlet>
                      
                      	<servlet-mapping>
                      		<servlet-name>Faces Servlet</servlet-name>
                      		<url-pattern>*.jsf</url-pattern>
                      	</servlet-mapping>




                      Merci,

                      -
                      Edité par marouen 10 novembre 2014 à 17:33:26

                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 novembre 2014 à 20:35:03

                        Test de l'existence d'une variable passé dans l'url

                        Bonjour je developpe depuis 3 ans en php j'ai décidé de me mettre au J2EE.

                        J'aimerais savoir comment tester si une variable passée par l'URL  existe.

                        Par exemple en php on ferrait

                        if (isset $_GET['name']){

                        }

                        je récupéré bien le paramétré avec request.getParametre('name') quand il n'existe pas il affiche null ainsi je voudrais tester son existence avant de l'afficher. J'ai tenté ceci  dans ma jsp:

                        <%
                        			String nom = (String) request.getAttribute("name");
                        			String age = (String) request.getAttribute("age");
                        			
                        			if (!nom.equals("")){
                        				out.print(" "+nom);
                        				//if (! age.equals("")){
                        					out.print(" "+age);
                        				//}
                        			}
                        %>



                                  

                        mais il ne fonctionne pas

                        Merci de votre aide.

                        -
                        Edité par AchilleMonga 10 novembre 2014 à 20:37:03

                        • Partager sur Facebook
                        • Partager sur Twitter
                        MTA
                        Anonyme
                          10 novembre 2014 à 22:27:49

                          marouen a écrit:

                          @Pappalourdo, j'apprécie énormément tes explication c'est devenu plus clair maintenant, car à l'école, nous avons élaboré des application web en JEE ou SpringFramework, mais nous n'avons jamais implémenté une Servlets, c'est toujours avec les annotation qu'on travaillait.

                          ce que nous avons mis dans web.xml

                          <servlet>
                          		<servlet-name>resteasy-servlet</servlet-name>
                          		<servlet-class>
                          			org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
                          	</servlet>
                          
                          	<servlet-mapping>
                          		<servlet-name>resteasy-servlet</servlet-name>
                          		<url-pattern>/rest/*</url-pattern>
                          	</servlet-mapping>
                          
                          	<servlet>
                          		<servlet-name>Faces Servlet</servlet-name>
                          		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                          		<load-on-startup>1</load-on-startup>
                          	</servlet>
                          
                          	<servlet-mapping>
                          		<servlet-name>Faces Servlet</servlet-name>
                          		<url-pattern>*.jsf</url-pattern>
                          	</servlet-mapping>

                          On voit dans ton exemple que la servlet resteasy-servlet va intercepter toutes les url de type /rest/*, c'est exactement ce que j'ai décris plus haut.

                          Si tu vas dans l'implémentation de la servlet (org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher), tu verras qu'il y aura un système qui dispatche sur un contrôleur de page. Le fait que ta classe soit connue comme étant un contrôleur lors de l'initialisation du contexte de l'application vient des annotations ou d'une déclaration xml.

                           De même, toutes les requêtes portant une url de type *.jsf utiliseront la servlet "Faces Servlet". Dans ce cas précis il n'y aura pas de composant contrôleur etc.. ça va directement retourner les vues jsf (enfin je le suppose, je n'ai jamais utilisé jsf). Pour en être sûr, il suffit de voir l'implémentation de cette servlet.

                          Si on avait utilisé une seule servlet (la HttpServletDispatcher) utilisant l'url-pattern /*, ça aurait eu pour effet d'appeler cette servlet pour TOUTES les requêtes, et donc pour chaque requête l'application chercherait un contrôleur correspondant à l'url... ce qui n'est pas du tout ce que l'on souhaite pour les fichiers correspondant aux vues .jsf.

                          Il faut retenir qu'on utilise en général une servlet pour des besoins techniques bien définis.

                          Pour AchilleMonga, il suffit de tester la non nullité du paramètre :

                          String nom = (String) request.getParameter("name");
                          if (nom != null) {
                              // le paramètre existe dans l'url
                          }
                          
                          if (nom != null && ! "".equals(nom) {
                              // le paramètre existe dans l'url et n'est pas vide
                          }

                           Il faut bien veiller à toujours mettre la variable comme paramètre de la méthode equals et non l'inverse. Si tu ne le fais pas, voici ce qui peut arriver

                          String nom = null;
                          
                          if (nom.equals("")) {
                             System.out.println("nom est vide");
                          }
                          else {
                             System.out.println("nom n'est pas vide");
                          }

                          On s'attend à voir affiché dans la console "nom n'est pas vide"... mais en l'occurrence une exception NullPointerException sera lancée à la ligne 3 car nom = null.

                          Fort heureusement de nombreuses classes utilitaires comme StringUtils existent ;)

                          -
                          Edité par Anonyme 10 novembre 2014 à 23:37:53

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            11 novembre 2014 à 10:50:59

                            Bonjour, eclipse ne ce lancepas je bloque sur: http://zupimages.net/up/14/46/w04g.png que faire ?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 novembre 2014 à 14:22:58

                              Bonjour à tous, 

                              je vient de commencer le cours de JEE et je suis bloquer dans l’exécution de mon premier programme il m'affiche toujours la meme erreur "Referenced file contains errors (http://xmlns.jcp.org/xml/ns/javaee/javaee_7.xsd)."


                              -
                              Edité par hidouche6666 11 novembre 2014 à 14:32:02

                              • Partager sur Facebook
                              • Partager sur Twitter
                                11 novembre 2014 à 17:02:50

                                corentinbroussouloux a écrit:

                                Bonjour, eclipse ne ce lancepas je bloque sur: http://zupimages.net/up/14/46/w04g.png que faire ?


                                ajoutez le chemin de votre Jre ou Jdk dans la variable système Path. avec plus de détail en suivant ce lien : http://www.robertsindall.co.uk/blog/setting-java-home-variable-in-windows/

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  12 novembre 2014 à 17:05:13

                                  Bonjour

                                  J'essaie de corriger les TPs des autres collègues.

                                  J'ai copié et collé sur mon workspace les TPs et j'ai ensuite importé avec eclipse,  mais il y des dizaines des messages d'erreur qui s'affichent.... Anything else ?

                                  Merci

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    12 novembre 2014 à 18:35:51

                                    En général les messages d'erreur désignent des problème de compilation. Il faut checker le classpath et utiliser la bonne JRE.

                                    Il faut faire : project > properties > Java Build Path > Librairies, puis bien assigner la bonne librairie system (JRE). Si elle est manquante, alors supprime celle utilisée, puis fais : add library > JRE System Library > JRE 7 (ou 8 selon ce que tu utilises chez toi).

                                    Il faut également ajouter la librairie de Tomcat dans le build path : add library > Server Runtime et modifier en utilisant Tomcat 7 (ou 8).
                                    Cela règlera les erreurs de compilation.

                                    Si le projet ne se lance pas car la version de Tomcat associée au démarrage (runtime) n'est pas trouvée, il faut modifier le fichier org.eclipse.wst.common.project.facet.core.xml présent dans le répertoire .settings pour lui faire utiliser la bonne version de Tomcat.

                                    En soi, cela ne doit pas être tenu comme une faute. Cela vient d'une différence d'environnement.
                                    En l'occurrence, lorsque l'on travaille, on ne doit normalement pas commiter de fichier .setting, .classpath et .project qui correspondent à de la configuration propre à Eclipse et non à du code métier.
                                    L'application peut très bien être démarrée sur un Tomcat externe en mode standalone, ou bien sur un autre conteneur de servlet.

                                    De même, chaque développeur est libre d'utiliser l'IDE qu'il souhaite (pourquoi pas NetBeans). Donc le MOOC est assez surprenant là-dessus.
                                    Ils auraient mieux fait de demander d'envoyer un war (projet compilé prêt à être déployé), et uniquement le code java dans un .zip.

                                    -
                                    Edité par Anonyme 13 novembre 2014 à 0:07:27

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      12 novembre 2014 à 19:43:17

                                      j'utilise java 8 et j'ai rencontré des erreurs aussi au niveau de la Class Servlet, ainsi que la première ligne du fichier .jsp, mais je peux les lancer sans rien modifier.

                                      -
                                      Edité par marouen 12 novembre 2014 à 19:44:03

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        12 novembre 2014 à 23:43:36

                                        Salut à tous,

                                        Je souhaite partager ceci:

                                        j'ai comme indiqué dans le cours télécharger tomcat et suivi toutes les indications pour son installation, mais rien à faire la connexion tombée à chaque fois en timeout.

                                        J'ai soupçonné l'utilisation du port 8080 par une autre application mais ce n'était pas le cas.

                                        Ensuite j'ai soupçonné le pare feu j'ai donc fais un test en le désactivant et là ... toujours pas le serveur se lance bien mais impossible de se connecter sur 127.0.0.1:8080.

                                        Finalement après plusieurs heures de recherche (et d'envie de casser l'ordi...) j'ai trouvé d'où venait le problème.

                                        Ce n'était pas le parfeu windows mais ...Avast Internet Security!!!!

                                        je le désactiver et enfin j'ai pu voir la frimousse de tom le chat!!!

                                        En espérant que ça puisse aider d'autres

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          12 novembre 2014 à 23:49:19

                                          Merci Pappalourdo

                                          Je suis d'accord qu'on ne doit pas pénaliser ceux qu'on n'a pas les mêmes versions du code, en fait c'est logique.

                                          Par contre, j'ai eu des pénalisations parce que il y a eu des problèmes de démarrage, sauf que chez moi ça marche niquel (problème des versions ?).

                                          Ce n'est pas grave, je m'en fiche en fait, mais il faudrait modifier la manière comme on doit envoyer les fichiers.

                                          Je pense que dans le future il sera essentiel de demander un ficher war au lieu de zip, trop la galère comme ça...  

                                          c'est que mon avis

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            13 novembre 2014 à 9:18:11

                                            marouen a écrit:

                                            corentinbroussouloux a écrit:

                                            Bonjour, eclipse ne ce lancepas je bloque sur: http://zupimages.net/up/14/46/w04g.png que faire ?


                                            ajoutez le chemin de votre Jre ou Jdk dans la variable système Path. avec plus de détail en suivant ce lien : http://www.robertsindall.co.uk/blog/setting-java-home-variable-in-windows/


                                            Bonjour, j' ai jamais fait de programation ^^
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              13 novembre 2014 à 13:41:54

                                              Bonjour, 

                                              je viens de débuter le cours. il est pour l'instant très agréable à suivre :)

                                              un petit bobo dans le chapitre "associer une vue à une servlet", une erreur que je ne trouve pas dans le code de response

                                              Merci de me guider

                                              mon code est ci-dessous.

                                              package com.cotest.cervlets;

                                              import java.io.IOException;

                                              import javax.servlet.ServletException;

                                              import javax.servlet.annotation.WebServlet;

                                              import javax.servlet.http.HttpServlet;

                                              import javax.servlet.http.HttpServletRequest;

                                              import javax.servlet.http.HttpServletResponse;

                                              @WebServlet("/Test")

                                              public class Test extends HttpServlet {

                                              private static final long serialVersionUID = 1L;

                                                  public Test() {

                                                      super();

                                                      // TODO Auto-generated constructor stub

                                                  }

                                              protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                                              response.setContentType("text/html");

                                              response.setCharacterEncoding("UTF-8");

                                              PrintWriter out - response.getWriter();

                                              out.println("bonjour!");

                                              }

                                              protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                                              // TODO Auto-generated method stub

                                              }

                                              }

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Dick Stéphane ADOU, Relation client et projet
                                                14 novembre 2014 à 14:47:07

                                                corentinbroussouloux a écrit:

                                                Bonjour, j' ai jamais fait de programation ^^


                                                Dans ce cas, tu n'as pas choisi le bon cours pour commencer. Il est impossible d'aborder efficacement le Java EE sans avoir de bonnes notions en Java, en HTML/CSS et en SQL.

                                                Fais les choses dans l'ordre ! :)

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  14 novembre 2014 à 15:35:06

                                                  adoudick1 a écrit:

                                                  Bonjour, 

                                                  je viens de débuter le cours. il est pour l'instant très agréable à suivre :)

                                                  un petit bobo dans le chapitre "associer une vue à une servlet", une erreur que je ne trouve pas dans le code de response

                                                  Merci de me guider

                                                  mon code est ci-dessous.


                                                      }

                                                  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                                                  response.setContentType("text/html");

                                                  response.setCharacterEncoding("UTF-8");

                                                  PrintWriter out - response.getWriter();

                                                  out.println("bonjour!");

                                                  }


                                                  Il faut relire le code de la vidéo du cours : PrintWriter out = response.getWriter(); c'est un égal et pas un moins!

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    14 novembre 2014 à 17:46:19

                                                    Bonjour,

                                                    j'en suis au TP : Développez votre calculatrice en ligne.

                                                    Malgré quelques recherches sur Internet, je ne parviens pas a récupérer dans une classe, les valeurs envoyées par le POST de mon formulaire.

                                                    Si quelqu'un peux m'aider,

                                                    merci d'avance.

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Anonyme
                                                      14 novembre 2014 à 19:09:47

                                                      String value = request.getParameter("input_name");
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        15 novembre 2014 à 11:34:45

                                                        Bonjour,

                                                        j'ai des difficultés à faire marcher mon servelet /bonjour. J'ai vérifier partout il n'y a pas d'erreur/ Mais pourtant ça m'affiche:

                                                        "erreur d'instanciation de la classe java (com.mycourse.Test)."

                                                        Pouvez-vous me dire quels peuvent avoir été les problèmes?

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          15 novembre 2014 à 13:07:20

                                                          Poste le code de ta servlet on pourra mieux debugger ainsi.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          MTA
                                                            15 novembre 2014 à 17:54:39

                                                            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 peux me donnée la solution?
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              15 novembre 2014 à 17:55:49

                                                              ReBonjour

                                                              je voudrais aussi connetre la commande pour se connecter à un utilisateur de mysql celle donné. dans le cours ne marche pas chez moi "mysql -h localhost -u java -p" je vois pas ou est le mot de pass.

                                                              -
                                                              Edité par Nassim90 15 novembre 2014 à 18:08:23

                                                              • 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