Le problème: quand je clic une fois sur le bouton "détail" la boite de dialog s'ouvre et se ferme instantanément. et quand je clic une deuxieme fois elle s'ouvre et reste ouverte. autrement dit, le comportement est normal à partir du 2eme clic.
comment puis-je résoudre ce problème ? ( Il faut que la boite de dialog s'ouvre normalement dés le 1er clic).
Je suis sur le cours de "Créer votre application web avec java ee" de Coyote. Alors, je n'arrive pas à résoudre un problème au niveau du "TP Fil rouge Etape 6 ". Il se fait qu'il y a une erreur au niveau de la ligne 68. La méthode put() me renvoi une erreur.
The method put(Long, Client) in the type Map<Long,Client> is not applicable for the arguments (int, Client)
Voici le code pour être plus clair.
package servlets;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import beans.Client;
import dao.ClientDao;
import dao.DAOFactory;
import forms.CreationClientForm;
public class CreationClient extends HttpServlet {
public static final String CONF_DAO_FACTORY = "daofactory";
public static final String CHEMIN = "chemin";
public static final String ATT_CLIENT = "client";
public static final String ATT_FORM = "form";
public static final String SESSION_CLIENTS = "clients";
public static final String VUE_SUCCES = "/WEB-INF/afficherClient.jsp";
public static final String VUE_FORM = "/WEB-INF/creerClient.jsp";
private ClientDao clientDao;
public void init() throws ServletException {
/* Récupération d'une instance de notre DAO Utilisateur */
this.clientDao = ( (DAOFactory) getServletContext().getAttribute( CONF_DAO_FACTORY ) ).getClientDao();
}
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
/* À la réception d'une requête GET, simple affichage du formulaire */
this.getServletContext().getRequestDispatcher( VUE_FORM ).forward( request, response );
}
public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
/*
* Lecture du paramètre 'chemin' passé à la servlet via la déclaration
* dans le web.xml
*/
String chemin = this.getServletConfig().getInitParameter( CHEMIN );
/* Préparation de l'objet formulaire */
CreationClientForm form = new CreationClientForm( clientDao );
/* Traitement de la requête et récupération du bean en résultant */
Client client = form.creerClient( request, chemin );
/* Ajout du bean et de l'objet métier à l'objet requête */
request.setAttribute( ATT_CLIENT, client );
request.setAttribute( ATT_FORM, form );
/* Si aucune erreur */
if ( form.getErreurs().isEmpty() ) {
/* Alors récupération de la map des clients dans la session */
HttpSession session = request.getSession();
Map<Long, Client> clients = (HashMap<Long, Client>) session.getAttribute( SESSION_CLIENTS );
/* Si aucune map n'existe, alors initialisation d'une nouvelle map */
if ( clients == null ) {
clients = new HashMap<Long, Client>();
}
/* Puis ajout du client courant dans la map */
clients.put( client.getId(), client );
/* Et enfin (ré)enregistrement de la map en session */
session.setAttribute( SESSION_CLIENTS, clients );
/* Affichage de la fiche récapitulative */
this.getServletContext().getRequestDispatcher( VUE_SUCCES ).forward( request, response );
} else {
/* Sinon, ré-affichage du formulaire de création avec les erreurs */
this.getServletContext().getRequestDispatcher( VUE_FORM ).forward( request, response );
}
}
}
j'ai un problème dans mon projet maven, plutôt dans la configuration je croie :/ , après la déclarations des jars dans le fichier POM.xml, il ne télécharge pas tous les jars, j'ai essayé, avec différents versions, et ça marche pas !!
en effet, il me lance "missing artifact" pour tous les jars déclarés.
je suis bloqué dans cette erreurs pendant plusieurs jours, et je ne sais pas vraiment quoi faire svp j'ai besoin de vos aides, et merci d'avence.
je suis en train de développez une application en JEE, et je voulais pour le moment de générer ma base de données a l'aide d'hibernate et JPA et je reçu toujours l'erreur suivante :
Error creating bean with name 'persistenceUnitManager' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Cannot parse persistence unit from class path resource [classPath*:META-INF/persistence.xml]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1512)
voilà mes fichiers persistence.xml et applicationCountext.xml:
SVp je ne sais pas ou est l'erreur et j'ai besoin de vos aides,
Bonjour à tous. Je n'arrive pas à établir une liaison entre Tomcat et Eclipse. Les deux sont installées correctement mais Tomcat n’apparaît pas dans la liste des serveurs disponibles... Qui peut m'aider ?
Va dans la zone située en bas de ton espace de travail fais clique droit un menu s'affiche,choisis "New" ensuite "Server" une fenêtre s'affiche contenant un lien nommé "Dowload additionnal server adapters" cliques sur le lien ça va scanner les "Servers" si ton server apparaît cliques dessus ensuite next bon pour être bref suis les instructions jusqu'à finish.
Je suis en train de suivre le cours pour Java EE, mais je rencontre un souci. Je suis rendue à la partie avec les servlet et je suis supposée obtenir une erreur 405 à cause de la méthode GET.
Cependant j'obtiens un code 404, impossible de trouver la page sur le serveur.
Mes différents codes :
Test.java
package tests;
import javax.servlet.http.HttpServlet;
public class Test extends HttpServlet {
}
=>Encore vide à cette partie du cours, si je ne dis pas de bêtise.
noteThe full stack trace of the root cause is available in the Apache Tomcat/7.0.61 logs.
Apache Tomcat/7.0.61
Edit: pour plus d'infos, mon CHEMIN_FICHIERS (/fichiers/) existe dans le path de mon workspace ainsi que dans mon Bureau (j'ai ajouté un init-param dans web.xml au cas ou avec un <param-value> C:\Users\Utilisateur\Desktop</param-value>). Pareil pour <location>/fichierstmp/</location>....
public static final String CHEMIN_FICHIERS = "/fichiers/"; // A changer
Re-edit: Bon, résolu! Je savais que c'était un soucis de chemin mais je trouvais pas... J'ai simplement ajouté le chemin directement sur <location> et CHEMIN_FICHIERS comme "d:/fichiers/" et "d:/fichierstmps/".
je suis actuellement le cours JAVA EE et je suis rendu à la partie IV : Formulaires-Envoi de Fichiers. Quand je teste le tuto avec la balise <input type="file">
j'ai la figure suivante sous Chrome 41.0.2272 et Firefox 37.0.1 :
<form action="upload" method="post" enctype="multipart/form-data"><fieldset><legend>Envoi de fichier</legend> <label for="description">Description du fichier</label> <input id="description" type="text" name="description" value="" /> <label for="fichier">Emplacement du fichier*</label> <input id="fichier" type="file" name="fichier" /></fieldset></form>
mais pas sous IE.
Y a t il une manip à faire pour que ces navigateurs renvoient ce que j'attends réellement ?
au lieu d'une case à remplir puis le parcourir, j'ai le bouton puis la phrase "Aucun fichier sélectionné."
suite à une mise à jour de Java, Eclipse fait l'âne en JAVA EE.
Exemple :
avr. 22, 2015 2:44:11 PM org.apache.catalina.core.ApplicationContext log INFOS: La servlet Gestion2TestJDBC est marqué comme indisponible avr. 22, 2015 2:44:11 PM org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Exception lors de l'allocation pour la servlet Gestion2TestJDBC java.lang.ClassNotFoundException: com.sdzee.servlets.Gestion2TestJDBC at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:120) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:817) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)
alors que la servlet en question est bien dans com.sdzee.servlets et se nomme bine Gestion2TestJDBC
Que puis faire pour remédier à cette bourde d'Eclipse ?
Je suis actuellement en classer de terminale S. Je dois créer un programme pour le bac. J’ai choisis un jeu de test de calcul mental. Cependant je n’arrive pas à savoir comment je pourrais exécuter une fonction 10 fois. C’est-à-dire que je veux que la personne qui joue a droit uniquement à 10 calcul. En quelque sorte une boucle ou un compteur. Mais je ne sais pas comment m’y prendre donc si vous pouvez m’aider ça serais cool ;)
var a;
var b;
function generer() {
a = Math.floor(Math.random()*100)+1;
b = Math.floor(Math.random()*100)+1;
var x = document.getElementById("div1");
x.innerHTML = a+"+"+b;
}
function verifier () {
A = document.getElementById("numbera");
var A = A.value;
if (A==(a+b))
{
var X = document.getElementById("reponse1");
X.innerHTML = "La réponse est juste ! <br> SCORE +1";
generer();
}
else {
var X = document.getElementById("reponse1");
X.innerHTML = "La réponse est fausse ! <br> SCORE -1";
generer();
}
}
Plusieurs solutions s'offrent à toi. La solution cookie/local storage pour stocker le nombre (côté client.. volatile et peut être modifiée), la solution session côté serveur (plus efficace mais volatile), ou la solution session + enregistrement en bdd avec adresse ip (meilleure solution mais surconception pour ce petit pb).
Plusieurs solutions s'offrent à toi. La solution cookie/local storage pour stocker le nombre (côté client.. volatile et peut être modifiée), la solution session côté serveur (plus efficace mais volatile), ou la solution session + enregistrement en bdd avec adresse ip (meilleure solution mais surconception pour ce petit pb).
Je choisis la meilleur solution ( solution session + enregistrement en bdd avec adresse ip) alors mais comment je peux faire ça s'il te plait ..?
j'ai enfin résolu les problèmes liés à la mise à jour du JRE (je ne l'avais pas compris au départ ). Donc après des manips et des corrections en série, cela fonctionne bien maintenant et j'ai pu enfin communiquer avec ma base de données.
J'ai un question par rapport à la déconnexion d'une session. Lorsque je déconnecte un client, avec les servlets
request.getSession().invalidate();
response.sendRedirect("home.jsp");
Mon application retourne vers la page initiale. Mais le problème si je clique sur précédent dans le navigateur, il retourne à la page précédente. Est-ce qu'il y a une manière de bloquer le retour en arrière après une déconnexion?
Normalement, la clé primaire dans la table prof est id_prof. Et dans la table client, la clé primaire est id_eleve et tu as une clé étrangère id_prof dans la table eleves qui réfère à la table prof.
Du coup, si tu veux avoir les élèves du prof qui ont son id_prof=4 dans la base des profs par exemple. Tu fais: select * from eleves where id_prof=4;
et si tu veux afficher les éléves du prof tel que son nom="Tom" par exemple et tu connais pas l'id_prof du Mr Tom, tu dois faire la requête suivante:
select * from eleves where id_prof is (select id_prof from prof where nom="Tom").
Mais dans ce cas s'il existe deux profs qui s'appelle Tom, tu auras les élèves de tous les profs Tom, car le nom est un identifiant de la table prof qui n'est pas unique, c'est pour cela on a id_prof et id_eleve car se sont les seuls identifiants unique de tes tables.
Je suis le cours "Développez des sites web avec Java EE" et je rédige actuellement le devoir final "Améliorez l'accessibilité avec un éditeur de sous-titres".
Est-ce que le devoir doit être remis impérativement à la fin de la 5ème semaine ?
J'aurais besoin de quelques jours de plus pour rendre un travail finalisé.
× 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.
relax max, cool raoul !