CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Java ==> Accès aux tables d'une BD

Casque-Ouille
Casque-Ouille
Niveau 10
19 mai 2008 à 12:28:50

Bonjour,

J'ai un petit soucis en Java.
J'écris une classe qui permet de se connecter à une BD en SQL Server.
Alors l'obtention des drivers se fait sans soucis. La connexion aussi, le login est correct, tout se passe normalement.

Mais lorsque j'exécute une requête, ça me renvoie une exception.
Voici le bout de code :

ResultSet res = c1.executerRequete("SELECT * FROM Client");
try {
while (res.next()){
System.out.println("OK => " + res.getString("Nom") + "\n");
}

}

J'affiche alors l'exception avec ex.getMessage().toString()
Ca m'affiche "Le jeu de résultats est fermé".
Pourtant res est non nul (je l'ai testé).
D'où vient cette erreur ? Car lorsque j'essaie d'afficher les tables de la base de données avec la fonction getTables, les tables s'affichent toutes.

Merci de votre aide.

Casque-Ouille
Casque-Ouille
Niveau 10
19 mai 2008 à 14:19:57

Problème résolu, j'ai été idiot d'oublier que dans ma procédure executerRequete, j'avais fermé la connexion.
C'est ça quand on utilise du code fait en cours il y a quelques temps, sans tout relire. :rouge:

Casque-Ouille
Casque-Ouille
Niveau 10
22 mai 2008 à 14:50:52

Bonjour j'aurais une autre question, et je uppe ce topic pour ne pas avoir à en créer un autre.

J'ai une servlet Java qui fait un forward, et qui me redirige vers un formulaire JSP.

rd = request.getRequestDispatcher("formuClient.jsp");
rd.forward(request, response);

Mais d'après ce que j'ai compris, le forward se fait du côté du serveur, et de manière transparente pour l'utilisateur, donc l'URL ne change pas lorsque j'arrive sur formuClient.jsp.
Comment faire pour que l'URL change ? Merci. :-d

novembre
novembre
Niveau 18
22 mai 2008 à 19:54:13

La question à te poser c'est :
Est ce que des données sont retournée ?
Si oui quoi ?

Si la réponse est non à la 1ère.
Tu peux faire un

response.sendRedirect("formuClient.jsp")

Ca appelle ta page mais en GET !
Le requestDispatcher lui appelle la page en POST.

Donc si tu as des infos à passer à ta jsp, il faut que tu les passes en paramètres d'url.

Casque-Ouille
Casque-Ouille
Niveau 10
22 mai 2008 à 20:27:49

Merci pour ta réponse, je ne connaissais pas sendRedirect.

Et bien je n'ai pas de données à retourner. Enfin une fois que formuClient.jsp est correctement rempli, les données du formulaire sont juste insérées dans la base de données, et normalement, je n'ai pas de paramètres à passer.

Je vais tester demain au stage le sendRedirect. Merci. :-d

Casque-Ouille
Casque-Ouille
Niveau 10
23 mai 2008 à 09:56:15

Je viens de tester et ça fonctionne. Merci !
Par contre, il s'avère que j'avais besoin de paramètres, car les précédents ne sont pas mémorisés.

Comment faire pour que le SendRedirect cache les paramètres ?

novembre
novembre
Niveau 18
23 mai 2008 à 23:23:35

Je pense que ce soit possible.
Comme je disais, c'est appelé en GET et je pense pas que les arguments puissent être caché.
Une solution serait de les foutre en session et de les virer après.
mais au final, c'est bien crado.

A part ça :
- En quoi ca te dérange que l'adresse soit pas en *.jsp ?
- Tu es en stage de quel niveau
- Je t'encourage vivement à utiliser un framework, Struts+taglibs par exemple pour ta couche présentation. Et Spring +hibernate pour ta couche métiers/accés données.
Moi aussi en stage, j'ai fait des trucs de ce genre. J'étais seul sur un projet JEE, je me suis pas trop imposé de régles. Avec le recul, je m'en veux, car je trouve ce que j'ai fait moche, un peu une déception pour moi. Et de plus, c'est des frameworks utile à connaitre si jamais tu poursuis professionnellement dans le JEE.

En cas de question, sur tout ça, hésite pas à continuer sur ce topic.

Casque-Ouille
Casque-Ouille
Niveau 10
24 mai 2008 à 14:53:06

Merci pour tes conseils ,je vais me lancer dans les framework alors, ça fait toujours quelque chose de + à rajouter sur mon CV. :-d

Pour mon niveau, disons que j'ai commencé le JSP cette année, mais je fais du Java depuis 2-3 ans.

Pour les paramètres, à la base ça me dérange pas qu'ils soient dans l'URL. Seulement lorsque par exemple l'utilisateur actualise la page, la page va se rafraichir selon l'URL et les paramètres.
Je ne pense pas que ça soit dérangeant, mais c'est juste que j'aurais aimé avoir des pages avec des URL sans paramètres, et seulement les pages en cours.

Pour les framework, est-ce que ça m'impose de recommencer tout mon projet ?

novembre
novembre
Niveau 18
25 mai 2008 à 20:43:55

Ca dépend ce que tu as fait pour me moment et de la façon dont tu as organisé le tout.
Pour utilisation de Struts, pas trop je pense.
Par contre Spring+hibernate, oui énormément, mais c'est plus de la réorganisation tout recommencer. Sur ce court terme, ca vaut pas le coup mais si le projet commence à prendre de l'importance l'absence de framework risque de faire devenir le tout un joyeux bordel, surtout si des gens reprennent le code après toi.
Hibernate est ce que appelle un ORM (Object-Relational Mapping). Il te permet donc de faire le mapping entre une couche objet et la base de données.
Spring lui est un conteneur léger, pas évident ce que c'est mais vachement intéressant à utiliser.
Même si tu ne t'en sers pas, renseigne toi un peu dessus. Comme ça la prochaine fois, tu y penseras et tu saura comment faire.
Ton stage, c'est un stage Bac+combien ? Durée ? Commencé depuis combien de temps ?

Casque-Ouille
Casque-Ouille
Niveau 10
26 mai 2008 à 09:35:28

C'est un stage bac +4, durée 3 mois, et commencé depuis le 2 mai . :-d

Merci pour les renseignements. J'ai de toute façon une autre appli à faire après celle-ci, et je pense la faire en Java aussi, donc je penserai à utiliser ces frameworks.

Casque-Ouille
Casque-Ouille
Niveau 10
26 mai 2008 à 23:14:36

J'aurais une question, et je parcours les forums à la recherche d'une soluce. :ange:

Je cherche désespérément un moyen d'inclure du code Java dans un formulaire. Je m'explique :
j'ai un champ Code postal et un champ ville.
Je voudrais que dans le Code postal, quand l'utilisateur commence par taper "7" par exemple, cela affiche automatiquement en pré-saisies toutes les villes dont le code postal commencerait par 7.
C'est exactement le même principe que dans le formulaire d'inscription de jeuxvideo.com.

J'ai trouvé sur le net un script d'insertion SQL de toutes les communes. Je peux donc créer une table sous SQL Server avec toutes les communes de France, mais comment faire en sorte que dans le formulaire.jsp, les villes apparaissent en présaisie ?

Merci. :-(

novembre
novembre
Niveau 18
27 mai 2008 à 00:14:49

Ok, si tu bac+4, tu peux te permettre un peu de laisser aller. Surtout si tu as une appli à faire dans quelques temps, ça te permettra de faire une confrontation des 2 dans ton rapport de stage.

Pour ta question sur les codes postaux, regarde du coté de ajax.

http://siddh.developpez.com/articles/ajax/

L'idée serait d'envoyer la saisie à une servlet effectue la requête permettant de liste des villes et la renvoi, et ça bien sur de manière asynchrone.
Après t'es pas obligé de commencer au 1er caractère, sinon :
- Ça bouffe de la bande passante
- Ça fait de grosse requête.
En effet, si tu prends même que sur 2, ça fait quand même toutes les villes d'un département.
Prends donc plutôt à partir de la 3ème.

Casque-Ouille
Casque-Ouille
Niveau 10
27 mai 2008 à 09:33:29

Ok merci. J'ai trouvé cela en Ajax :
http://dcabasson.developpez.com/articles/javascript/ajax/ajax-autocompletion-pas-a-pas/#L1-A
Mais le fait qu'il y ait du code Php ne m'arrange pas.
Est-ce tu penses que ce code Php peut être traduit en Java, ou je dois chercher un autre exemple ?

novembre
novembre
Niveau 18
27 mai 2008 à 18:54:27

Oui, c'est faisable.
Par contre, c'est pas vraiment de la traduction.
Faut reprendre l'idée et adapter ça en java.

Casque-Ouille
Casque-Ouille
Niveau 10
27 mai 2008 à 19:16:59

J'essaie désespérément depuis ce matin. :-(

Finalement, je bloque sans doute à cause de la fonction open en Ajax.

Voilà le code :

var _adresseRecherche = "Villes2"
function callSuggestions(valeur){
if(_xmlHttp&&_xmlHttp.readyState!=0){
_xmlHttp.abort()
}
_xmlHttp=getXMLHTTP();
if(_xmlHttp){
//appel � l'url distante
_xmlHttp.open("GET", _adresseRecherche, true);
_xmlHttp.onreadystatechange=function() {
if(_xmlHttp.readyState==4&&_xmlHttp.responseXML) {
var liste = traiteXmlSuggestions(_xmlHttp.responseXML)
cacheResults(valeur,liste)
metsEnPlace(valeur,liste)
}
};
// envoi de la requete
_xmlHttp.send(null)
}
}

Villes2 est ma servlet, en Java, qui affiche un xml.
Or, lorsque je remplace _adresseRecherche par un vrai fichier test.xml, tout fonctionne. Mais la fonction open ne semble pas réussir à lancer Villes2.
A quoi serait-ce du ? :snif2:

Casque-Ouille
Casque-Ouille
Niveau 10
27 mai 2008 à 19:38:58

Chaud, chaud, chaud.

Dans ma servlet, j'ai mis :
response.setContentType("text/xml");
Et c'est bon. J'ai totalement été idiot d'oublier ça. :-(

Merci en tout cas pour ton aide, Novembre. :)

novembre
novembre
Niveau 18
27 mai 2008 à 22:09:51

Ok, utile à savoir pour le contextType. :)
et de rien, si tu as d'autres question, n'hésite pas.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment