vous pensez quoi de mon code ??? [jsp] - Java - Programmation
Marsh Posté le 19-08-2003 à 14:13:49
En ce qui concerne le JavaBean:
Le principal reproche est l'accès à la BD dans le bean et ta représentation a deux dimensions plus que douteuses
pour la JSP je laisse la parole aux experts
Marsh Posté le 19-08-2003 à 14:15:36
bibidec a écrit : merci beaucoup je prends bonne note ! |
j'ai ajouté des trucs
Marsh Posté le 19-08-2003 à 14:18:25
DarkLord a écrit : |
comme la requete SQL dans le jsp, c'est pas top
Marsh Posté le 19-08-2003 à 14:22:51
Dans ta JSP t'as beaucoup trop de scriptlets (code Java entre <% et %> ).
je te conseil de ne pas utiliser le "out.println"
Genre quand tu voudrais faire ça :
Code :
|
fais plutot :
Code :
|
Marsh Posté le 19-08-2003 à 14:23:35
lorill a écrit : |
ah ok,
je pensais qu'il était préférable d'accéder aux données avec mon fichier javabean...
okok....
mais comment devrais-je procéder ?
je fais l'accès dans un scriptlet ? dans un jsp ?
Marsh Posté le 19-08-2003 à 14:26:35
bibidec a écrit : |
dans une servlet
Marsh Posté le 19-08-2003 à 14:29:08
DarkLord a écrit : |
ah d'accord,
je fais l'accès à la base dans un servlet.
et je récupère mes données depuis le jsp!
donc je n'utilise plus de javabean ???
j'espère que je raisonne juste
Marsh Posté le 19-08-2003 à 14:30:22
bibidec a écrit : |
presque !!!
Ton javabean est utilisé pour représenter les données. Donc c'est l'objet que tu retournes, depuis ta servlet, à ta JSP
Edit: en fait, avec ta servlet tu vas chercher les données, tu remplis un JavaBean avec les données et tu retournes le JavaBean a la JSP. Celle ci utlise les getter pour afficher les infos dans la page web. C'est une traduction simple du modèle MVC
Marsh Posté le 19-08-2003 à 14:31:02
bibidec a écrit : |
Ben si, pour stocker les données récupérées dans la servlet. Sinon tu ferais pour récupérer les données dans ta JSP !?
Marsh Posté le 19-08-2003 à 14:33:46
bibidec a écrit : |
Non, surtout pas, cf les réponses des autres.
Le but, c'est de completement séparer l'acces aux donnée de l'affichage
Marsh Posté le 19-08-2003 à 14:34:23
El_gringo a écrit : |
oui mais je comprends pas quelque chose alors :
quand je suis dans ma servlet je crée une instance et j'appelle ma fonction set.
quand je suis dans ma jsp je suis pas obligé de recréer une instance pour appeler ma fonction get ?
merci pour tout vos coups de pouce !
Marsh Posté le 19-08-2003 à 14:35:44
bibidec a écrit : |
non, tu dois la récupérer (par session par exemple) mais pas la recréer.
Marsh Posté le 19-08-2003 à 14:37:51
lorill a écrit : |
okok,
je suis donc obligé de créer une session pour récupérer ma données envoyer par le servlet à mon bean...
d'accord je vais essayer !!!
Marsh Posté le 19-08-2003 à 14:39:53
bibidec a écrit : |
pour récupérer l'instance du bean garni par la servlet
Marsh Posté le 19-08-2003 à 14:41:25
lorill a écrit : |
okkkkkkkkkkkkkkkkkkkkkkkkkk !
c quand meme compliqué pour faire si peu je trouve non ?
enfin si c comme cela qu'il procéder pour avoir quelque chose de propre alors c bien !
merci beaucoup
Marsh Posté le 19-08-2003 à 14:43:37
bof, c'est pas si compliqué que ca...
Servlet (Controleur)
--> Recupere tes donnés
--> Garni ton bean (Modele)
--> Mets le bean en session
--> Forwarde vers la JSP (Vue)
JSP
--> Lit le bean a partir de la session
--> Fait l'affichage
Marsh Posté le 19-08-2003 à 15:09:05
bibidec a écrit : |
stocker le bean dans la session est une possibilité.
d'ailleur, ca a du sens que si tu es susceptible de t'en reservir par la suite ... sinon, autant stocker le bean en tant qu'attribut de la requete (request.setAttribute).
Marsh Posté le 19-08-2003 à 15:11:04
bibidec a écrit : |
c'est la façon propre de faire les choses ...
c'est sûr que pour des petits trucs comme ca, c'est lourd mais si tu ne fais pas ca pour des plus gros projet ca fait du code spagheti
Marsh Posté le 19-08-2003 à 15:12:53
Moi je trouve quand même que dans certain cas, la processus est lourd pour pas grand chose. C'est mal, mais il m'est arrivé de lire un fichier dans une JSP.
Et sinon, t'avais lu mon 1er post dans la topic, bibidec ?
Marsh Posté le 19-08-2003 à 15:20:03
en utilisant la JSTL, tu pourrais bcp simplifier le codage de ta page jsp.
Si tu veux faire les trucs rapidement, tu peux notament écrire ta page qui fait un accès BDD sans écrire un seule ligne de code java. Mais bon, c'est plus propre de passer par le modèle MVC comme ca t'as déjà été expliqué ...
doc rapide et bien faite sur la jstl : http://www.javaworld.com/javaworld [...] -jstl.html
Marsh Posté le 19-08-2003 à 15:20:42
El_gringo a écrit : Moi je trouve quand même que dans certain cas, la processus est lourd pour pas grand chose. C'est mal, mais il m'est arrivé de lire un fichier dans une JSP. |
oui oui,
je l'avais lu!
j'ai également pris note et je mettrai cela en application dès que j'aurai des infos à afficher dans mes scriptlets...
merci bcp...
Marsh Posté le 19-08-2003 à 15:21:12
El_gringo a écrit : Moi je trouve quand même que dans certain cas, la processus est lourd pour pas grand chose. C'est mal, mais il m'est arrivé de lire un fichier dans une JSP. |
logiquement, tu mets un place un modèle MVC que dans les projets de taille déjà importante, sinon tu fais du JSP+JSTL ou JSP+scriplet crados
Marsh Posté le 19-08-2003 à 15:23:21
bibidec a écrit : |
bah non c'est pas compliqué, ca simplifie beaucoup la lecture de la JSP, et comme on part du principe que celui qui travaille sur la JSP est un designer HTML ca lui facilite grandement la vie!
du coup pour récupérer le bean dans ta jsp tu fais juste ca:
Code :
|
(en changeant le nom de ta classe là c'est pas terrible)
Marsh Posté le 19-08-2003 à 15:25:36
benou a écrit : |
okok mais attendez !
admettons que je dois faire un petit projet pour une boite en jsp, c'est quand meme mieux que je le fasse avec le modèle mvc non ? meme si je mets plus de temps....autant faire qqch de vraiment propre non ?
Marsh Posté le 19-08-2003 à 15:29:08
benou a écrit : |
merci d'insister sur ce point. à priori ça n'a aucun sens de le mettre en session.
Marsh Posté le 19-08-2003 à 15:29:59
bibidec a écrit : |
si t'as pas de contrainte de temps, oui.
si c'est juste un truc 'jetable', bah
Marsh Posté le 19-08-2003 à 15:30:20
the real moins moins a écrit : merci d'insister sur ce point. à priori ça n'a aucun sens de le mettre en session. |
toutafé, à moins de vouloir gérer une sorte de cache ... mais sinon ca charge la mémoire pour rien pendant 20 minutes ...
surtout un tableau de 200*10, Ca fait quand même du 64Ko par utilisateur pour rien
Marsh Posté le 19-08-2003 à 15:31:32
bibidec a écrit : |
oui c'est mieux, parce que quelle que soit la taille du projet, si tu veux maintenir ton application ca sera quand même plus facile si tu n'as pas trop de code java dans tes JSP.
en plus si tu veux debugger ca va etre difficile de faire du pas à pas dans les JSPs (possible ou pas suivant ton IDE, et pas trés lisible s'il sait le faire)
Marsh Posté le 19-08-2003 à 15:37:46
[citation=491283,1]... sinon, autant stocker le bean en tant qu'attribut de la requete (request.setAttribute).
[/citation]
Je comprends pas bien ça...
Marsh Posté le 19-08-2003 à 15:41:48
ben y'a un objet "requête" auquel tu peux coller des attributs (n'importe quel objet, en gros c'est une hashmap)
du coup dans ta servlet tu ferais
request.setAttribute("pouet", tonBean);
et dans ton jsp (par l'intermediaire d'un tag, là je te montre le code ) tu ferais
((TonBean) request.getAttribute("pouet" )).getTralala();
Marsh Posté le 19-08-2003 à 15:44:04
the real moins moins a écrit : |
et dans la jstl tu ferais requestScope.pouet.tralala
et en JSP2 tu ferais pouet.tralala
Marsh Posté le 19-08-2003 à 15:46:22
benou a écrit : |
tu pourrais mettre un bout de contexte autour de ton exemple en jsp2? (y'a bien un tag ou qqchose non?)
Marsh Posté le 19-08-2003 à 15:46:36
the real moins moins a écrit : ben y'a un objet "requête" auquel tu peux coller des attributs (n'importe quel objet, en gros c'est une hashmap) |
ah okokokokok...
je commence à y avoir plus clair !
merci à tout le monde pour vos réponses, c'est gentil!
je vais essayer de mettre ça en pratique, histoire d'avoir un modèle à suivre "propre" pour mes futurs applications !
merci!
Marsh Posté le 19-08-2003 à 15:47:12
j'sais pas c'qu'on a aujourd'hui, on est vraiment sympas
Marsh Posté le 19-08-2003 à 15:52:34
the real moins moins a écrit : ben y'a un objet "requête" auquel tu peux coller des attributs (n'importe quel objet, en gros c'est une hashmap) |
faut qu'il soit sérialisable quand même
Marsh Posté le 19-08-2003 à 15:56:31
_guigui_ a écrit : |
euh oué ptet, j'ai jamais fait gaffe à vrai dire
mais ça fait lgtps que j'ai pas fait de web
Marsh Posté le 19-08-2003 à 15:59:52
http://java.sun.com/products/servl [...] ng.Object)
parlent pas de serializable
Marsh Posté le 19-08-2003 à 14:09:49
a
Message édité par bibidec le 07-03-2005 à 16:08:45