[ JAVA ] [JSP ] explication de ca...

explication de ca... [ JAVA ] [JSP ] - Programmation

Marsh Posté le 27-12-2001 à 19:13:16    

bopn je mets au JSP, j ai compris pas mal de chose sauf l exemple par defaut propose par JBuilder, un truc tout con, mais je vois pas ce que fait reellement le programme.
 
deja les deux premieres lignes ou la je comprends que dalle, elles sont dans le .JSP :
 
<jsp:useBean id="Jsp1BeanId" scope="session" class="jsptutorial.Jsp1Bean" />
<jsp:setProperty name="Jsp1BeanId" property="*" />
 
id ? scope ? setproperty ? property="*" ?
 
apres le reste:
 
tout le .JSP :
 
<html>
<head>
<title>
Jsp1
</title>
</head>
<jsp:useBean id="Jsp1BeanId" scope="session" class="jsptutorial.Jsp1Bean" />
<jsp:setProperty name="Jsp1BeanId" property="*" />
<body>
<h1>
JBuilder Generated JSP
</h1>
<form method="post">
<br>Enter new value   :  <input name="sample"><br>
<br><br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
<br>
Value of Bean property is :<jsp:getProperty name="Jsp1BeanId"
property="sample" />
</form>
</body>
</html>
 
 
on voit une balise input de nom "sample"
et on voit un bouton submit name=type=value="submit"
 
et apres value of bean property ... <JSP: ??  getProperty name="JSP1beanId">
et la je comprends pas du tout la syntaxe.
 
en fait que se passe t il quand on appui sur le submit ?
la valeur saisie s affiche juste apres "value of ..." mais je ne comprends pas comment ni pourquoi.
 
apres donc le .JAVA
 
public class Jsp2Bean {
  private String sample = "Start value";
  /**Access sample property*/
  public String getSample() {
    return sample;
  }
  /**Access sample property*/
  public void setSample(String newValue) {
    if (newValue!=null) {
      sample = newValue;
    }
  }
}
 
donc je comprends toutes les méthodes mais je ne vois pas ou elles sont appelles dans le .JSP et comment elle recupere les parametre.
 
merci :).


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 27-12-2001 à 19:13:16   

Reply

Marsh Posté le 27-12-2001 à 20:32:19    

A la la. Tu as lu un petit tutorial sur JSP avant de poser la question? Ca ne me dérange pas de répondre mais là si tu te cassais à ne fus-ce que lire le tutorial sur java.sun.com tu poserais moins de questions ...
 
Ca fait 20 pages à tout casser ...
 
Bon bon
 
<jsp:useBean id="Jsp1BeanId" scope="session" class="jsptutorial.Jsp1Bean" />  
<jsp:setProperty name="Jsp1BeanId" property="*" />  
 
Ces deux lignes déclarent un JavaBean qui s'appelle Jsp1Bean et dont la classe est dans le package jsptutorial. Ce bean doit etre déclaré dans la session et il est identifié pas Jsp1BeanId (ah ah).
 
Cela veut dire deux choses :  
 
1) Si le bean n'existe pas dans la session actuelle il est crée
2) Si le bean existe déjà dans la session il est utilisé (par exemple la servlet d'écoute des requêtes a pu créer le bean avec des infos de l'utilisateur).
 
setProperty sert à donner une valeur à une propriété. Dans un javabean tu as un truc du genre
 

Code :
  1. public class MonBean
  2. {
  3.    private String id = null;
  4.    public void setId(String newId)
  5.    {
  6.       id = newId;
  7.    }
  8.    public String getId()
  9.    {
  10.       return id;
  11.    }
  12. }


 
id ici est une propriété avec un setter et un getter. setProperty va appeler le setter de la propriété. getProperty va appeler le getter de la propriété. Property * dans ce cas de figure signifie que tous les setters du bean doivent etre appelés. En fait il y a un formulaire html qui a permis d'appeler la jsp, du genre
 

Code :
  1. <form action="theJBuilderJsp.jsp" method="post">
  2. <input type="hidden" name="id" value="1234">
  3. </form>


 
Si tu as ca dans une page html et que tu appelles ta jsp alors il y a un paramètre qui s'appelle id. En fait setProperty * il va prendre id et le mettre dans la propriété du meme nom dans ton bean.
 

Citation :


Stores all of the values the user enters in the viewable JSP page (called request parameters) in matching bean properties. The names of the properties in the bean must match the names of the request parameters, which are usually the elements of an HTML form. A bean property is usually defined by a variable declaration with matching getter and setter methods (for more information, see http://java.sun.com/products/javabeans/docs/).  


 
<jsp:getProperty name="Jsp1BeanId"  
property="sample" />  
 
Cet appel va envoyer à l'écran la valeur de la propriété sample du bean que tu as déclaré dans les deux premières lignes(Jsp1BeanId). Tu vois que tu fais un getProperty sur le bean donné et la propriété donnée. C'est facile!
 
Pour ton ficher le formulaire est post sans action. Donc tu remplis le champ avec la valeur de sample, tu fais un submit et puis la jsp va rechercher la valeur telle que décrit ci dessus. C'est un exemple pour montrer comment JSP et JavaBean interagissent c'es tout.
 
Mais bon va lire un tutorial avant de poser des questions aussi basiques !!
http://java.sun.com/products/jsp/news.html
 
 
 
A+


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 27-12-2001 à 20:36:35    

DarkLord22 a écrit a écrit :

A la la. Tu as lu un petit tutorial sur JSP avant de poser la question? Ca ne me dérange pas de répondre mais là si tu te cassais à ne fus-ce que lire le tutorial sur java.sun.com tu poserais moins de questions ...




 
bein j ai pas lu non car je peuxpas, j ai pas lenet au travail et quand je suis arrive vu que j ai la creve e j aiposte et me suis couche :).
et me susi relev pour bouffer donc me voila.
je vais donc lir la suite maintenant :jap:.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 27-12-2001 à 20:40:34    

j ai lu j ai a pe pres compris merci :jap:.
mais bon je suis pas apte a poser des question :D.
je vais plutot me coucher car la je suis en train de cracher mes poumons et m exploser la boite cranniene.
merci et je poserai des questions plus tard :D.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 03-01-2002 à 00:20:21    

je suis en va :D, je prendsnote et des vendredi je m y atel :D.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 03-01-2002 à 08:52:32    

Clarkent a écrit a écrit :

je suis en va :D, je prendsnote et des vendredi je m y atel :D.  




 
Bin bonnes vacances alors ...  :heink:


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 03-01-2002 à 14:53:28    

darklord22 a écrit a écrit :

 
 
Bin bonnes vacances alors ...  :heink:  



merci serieu :D.
je suis passe de malade a vacance.
mais t inqueite jai pige le truc :), merci.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 03-01-2002 à 14:58:54    

Clarkent a écrit a écrit :

merci serieu :D.
je suis passe de malade a vacance.
mais t inqueite jai pige le truc :), merci.  




 
cool  :sol:  
 
 :hello:


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 08-01-2002 à 18:59:04    

bon voilales questions :D.
donc apparament les  methode getSample et setSample ne peuvent etre nommer differemments, a partir du moment ou le input a sample comme non ?
 
peut on ecrire cette ligne:
:<jsp:getProperty name="Jsp1BeanId"  
property="sample" />  
 
differemment en appellant directement la methode que l on veut ?
ici getSample() qui retour un string.
 
L ID on ne le manipule jamais ?
 
comment transmettre des paramettres entre les sessions :(.
 
j ai regarde le tutorial sur JSP et bein il fait une dizaine de page et est plutot bof je trouve.
c est de l english faut dire que j ai ptetre pas tout saisie :D.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 08-01-2002 à 19:28:37    

Ben tu fais tout simplement:

Code :
  1. <%= Jsp1BeanId.getSample() %>


Quoique je ne suis pas sûr qu'on a accès directement à cette variable telle quelle. :sarcastic: Avec le scope actuel (session), je crois qu'il faut mettre ça avant:

Code :
  1. <%! jsptutorial.Jsp1Bean Jsp1BeanId = session.getParameter("Jsp1BeanId" ); %>


 
Pour les paramètres entre deux sessions, ce qui me vient à l'esprit en premier est de les sauver dans un fichier au niveau serveur, ou alors à utiliser des cookies pour des paramètres propres à chaque utilisateur. Je ne peux pas tester ça pour l'instant, mais tu pourrais le faire. ;)

 

[edtdd]--Message édité par Krueger--[/edtdd]


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
Reply

Marsh Posté le 08-01-2002 à 19:28:37   

Reply

Marsh Posté le 08-01-2002 à 19:43:13    

Krueger a écrit a écrit :

Ben tu fais tout simplement:

Code :
  1. <%= Jsp1BeanId.getSample() %>


Quoique je ne suis pas sûr qu'on a accès directement à cette variable telle quelle. :sarcastic: Avec le scope actuel (session), je crois qu'il faut mettre ça avant:

Code :
  1. <%! jsptutorial.Jsp1Bean Jsp1BeanId = session.getParameter("Jsp1BeanId" ); %>


 
Pour les paramètres entre deux sessions, ce qui me vient à l'esprit en premier est de les sauver dans un fichier au niveau serveur, ou alors à utiliser des cookies pour des paramètres propres à chaque utilisateur. Je ne peux pas tester ça pour l'instant, mais tu pourrais le faire. ;)  
 
 



ouais y a ca ou creer une classe pour les mettres dedans.
 
sinon je testerai ce que tu dis sur l appel de la methode merci :).


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 08-01-2002 à 20:06:19    

Krueger a écrit a écrit :

Ben tu fais tout simplement:

Code :
  1. <%= Jsp1BeanId.getSample() %>


Quoique je ne suis pas sûr qu'on a accès directement à cette variable telle quelle. :sarcastic: Avec le scope actuel (session), je crois qu'il faut mettre ça avant:

Code :
  1. <%! jsptutorial.Jsp1Bean Jsp1BeanId = session.getParameter("Jsp1BeanId" ); %>


 
Pour les paramètres entre deux sessions, ce qui me vient à l'esprit en premier est de les sauver dans un fichier au niveau serveur, ou alors à utiliser des cookies pour des paramètres propres à chaque utilisateur. Je ne peux pas tester ça pour l'instant, mais tu pourrais le faire. ;)  
 
 




 
Euh  :heink:  
 
Reprenons. si tu as une propriété sample elle est unique dans ton Bean
 
du genre
 
...
 
private String sample = null;
public String getSample()
{
  return sample;
}
public void setSample(String newSample)
{
      // check si besoin est
      sample = newSample;
}
 
Bon ... Ton bean c'est par exemple Jsp1BeanId
 
Si tu le déclares proprement (voir tutorial JBulider dans ce post) et que tu fais

Code :
  1. <jsp:getProperty name="Jsp1BeanId" property="sample" />


 
tu vas appeller la méthode getSample point final!!!
Si tu as d'autre méthode dans ton bean qui n'ont rien à voir avec les propriétés, tu peux les appeler en faisant
 
<%= Jsp1BeanId.computeSomething() %>
 
Pour ta session, il y a un objet spécial dans J2EE qui est HttpSession et qui te permet de stocker des objets via une clé. C'est d'aillers commme ca que tu peux stocker ton bean finalement !!!!!!
 
A un moment donné dans une servlet tu as fait
 
HttpSession sess = request.getSession();
sess.put("Jsp1BeanId", MyBeanId);
 
Et c'est cimme ca que tu as pu le récupérer via le scope "session". Si tu avais fait
 
request.put("Jsp1BeanId", MyBeanId); tu aurais du déclarer un truc du genre au début de ton jsp  
 
<jsp:useBean id="Jsp1BeanId" scope="request" class="jsptutorial.Jsp1Bean" />  
 
Mais bon ca n'a pas bcp de sens à ce moment là ...
 
Ceci étant éclairé, fais moi savoir si tu as d'autres questions.


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 08-01-2002 à 20:07:48    

Krueger a écrit a écrit :

Quoique je ne suis pas sûr qu'on a accès directement à cette variable telle quelle. :sarcastic: Avec le scope actuel (session), je crois qu'il faut mettre ça avant:

Code :
  1. <%! jsptutorial.Jsp1Bean Jsp1BeanId = session.getParameter("Jsp1BeanId" ); %>






 
Bon ca c'est complètement faux ... Si un bean a été mis dans la session actuelle, le fait de faire scope="sesssion" suffit. Pas beoin de faire des déclaration telle que ci dessous. Ca ne veut rien dire du tt  
 
A+


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 09-01-2002 à 00:40:38    

De toute façon, pour être définitivement fixé sur ce qui est fait lors de la compilation du JSP, rien ne vaut un coup d'oeil au source de la servlet généré. Ca retire une bonne partie du mystère et ca éclaircie beaucoup de choses d'un seul coup ! :)
 
Avec tomcat, les servlets générées lors de la compilation des JSP se trouvent dans le répertoire work.

Reply

Marsh Posté le 09-01-2002 à 01:01:07    

ok trop fort tout ca :D.
 
j ai compris sans comprendre ca:
HttpSession sess = request.getSession();  
sess.put("Jsp1BeanId", MyBeanId);  
 
Et c'est cimme ca que tu as pu le récupérer via le scope "session". Si tu avais fait  
 
request.put("Jsp1BeanId", MyBeanId); tu aurais du déclarer un truc du genre au début de ton jsp  
 
declarer quoi unobjet session ?
request ?
 
comment differencier les parametres ?
 
j aiunpeu de mal a tout comprendre dans JSP.
un truc qui me chagrine c est l operationmagique getSample et setSample qui correspond au input sample.
enfin bon :).
 
onpeut ne definir que quelques put ou quelques get au debut a laplace de tous avec * ?


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 09-01-2002 à 01:07:07    

ca a rien de bien magique : quand tu fait un getProperty avec un name et un property donné (name="toto", property="tutu", il fait une transformation à la con :  
 
toto.getTutu();
 
même manip avec le setProperty.
 
De toute façon, va voir dans le code de la servlet générée et tu verras que c'est ce bout de code là qu'il y a à la place de la balise !

Reply

Marsh Posté le 09-01-2002 à 01:21:56    

benou a écrit a écrit :

ca a rien de bien magique : quand tu fait un getProperty avec un name et un property donné (name="toto", property="tutu", il fait une transformation à la con :  
 
toto.getTutu();
 
même manip avec le setProperty.
 
De toute façon, va voir dans le code de la servlet générée et tu verras que c'est ce bout de code là qu'il y a à la place de la balise !  



ca je verias quand je serai au taffe.
je ne savais pas qu il y avait une servlet derriere en fait.
enfin si mais je savais pas qu elle etait visible.
mais bon ca semble logique.
 
par contre pour la transformation je suis ok je suispas con quand meme, mais j aime pas cette facon de faire, ca fait tres bricolage et ca j apprecie pas, c est tout, c est opur ca que je parlais de magie.
surtout que le sample n estpas accepte en tant que Sample dans la jsp mais par contre c est getSample, denomination JAVA bien sur :).
enfin bon j aime pas trop ca.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 09-01-2002 à 08:40:17    

Clarkent a écrit a écrit :

ok trop fort tout ca :D.
 
j ai compris sans comprendre ca:
HttpSession sess = request.getSession();  
sess.put("Jsp1BeanId", MyBeanId);  
 
Et c'est cimme ca que tu as pu le récupérer via le scope "session". Si tu avais fait  
 
request.put("Jsp1BeanId", MyBeanId); tu aurais du déclarer un truc du genre au début de ton jsp  
 
declarer quoi unobjet session ?
request ?
 
comment differencier les parametres ?
 




 
Bon. HTTP est sans état. Ce qui signifie que chaque requete est indépendante et que pour le serveur c'est chaque fois un nouveau client (au niveu http pur). Suppose que tu vas dans un site ou tu peux te loguer pour avoir accès à tes paramètres, etc. Une fois que c'est fait il faut une session entre toi et le serveur (qui a une durée de 30min par défaut sur la plupart des app serveur mais tu peux modifier cette valeur).
 
Lorque tu fais HttpSession sess = request.getSession(); Tu vérifies que la requête en question fait partie d'un de tes clients connectés. Donc si dans ta servlet 1, tu fais
 
HttpSession sess = request.getSession();  
sess.put("Jsp1BeanId", MyBeanId);  
 
Et qu'ensuite le MEME CLIENT se connecte à la servlet 2 de ton serveur, en faisant:
 
HttpSession sess = request.getSession();  
 
Il va récupérer le même sess qui ci dessous et donc il pourra récupérer l'objet défini par "Jsp1BeanId".
 
Tu peux également mettre des objets au niveau request (c'est à dire juste pour la requete en cours). Exemple, tu demandes la liste des clients qui ont un crédit supérieur à 10.000. Ta servlet va chercher ces clients et les mets dans un objets (par exemple un vecteur de client).  
 
en faisant request.put("result", MyCientsVector);
Tu mets le résultat de la requete courante. La servlet a terminé son job et forwarde LA REQUETE à une JSP pour qu'elle affiche un joli tableau au client. Dans le code de la JSP elle récupère le tableau via la requete puis construit le tableau on-the-fly. Ca permet de séparer le design du business logic (si tu modifies ta base de données, tu ne dois modifier que ta servlet. Si tu changes le design de ton site, tu ne changes que la jsp)
 
Donc si tu veux accéder aux paramètres de session, utilise session.get(id);
Si tu veux accéder aux paramètres de requete, utilise
request.get(id);
 
Mais il n'y a pas de miracle, il doit y avoir un process qui a déclaré l'objet qqpart (servlet par exemple)
 
Si tu veux mieux comprendre les concepts de session, requete et interaction servlet - jsp - javabean, renseinge toi sur le modèle MVC (Modèle Vue Controlleur). C'est un des design pattern les plus appliqués au niveau serveur.
 
A+


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 09-01-2002 à 08:44:39    

Clarkent a écrit a écrit :

par contre pour la transformation je suis ok je suispas con quand meme, mais j aime pas cette facon de faire, ca fait tres bricolage et ca j apprecie pas, c est tout, c est opur ca que je parlais de magie.
surtout que le sample n estpas accepte en tant que Sample dans la jsp mais par contre c est getSample, denomination JAVA bien sur :).
enfin bon j aime pas trop ca.  




 
Bin j'appelle pas ca du bricolage moi. J'appelle ca une standardisation intelligente. Tu as un propriété qui s'appelle toto. Dans ta jsp tu fais jsp:getProperty  de sample. C'est BCP PLUS EXPLICITE QUE <%= monbean.getSample() %>
 
Au moins quand tu fais jsp:getProperty tu sais que tu vas chercher une valeur simple. Avec l'expression ca l'est moins je trouve ...


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 09-01-2002 à 14:26:33    

darklord22 a écrit a écrit :

 
 
Bin j'appelle pas ca du bricolage moi. J'appelle ca une standardisation intelligente. Tu as un propriété qui s'appelle toto. Dans ta jsp tu fais jsp:getProperty  de sample. C'est BCP PLUS EXPLICITE QUE <%= monbean.getSample() %>
 
Au moins quand tu fais jsp:getProperty tu sais que tu vas chercher une valeur simple. Avec l'expression ca l'est moins je trouve ...  



je suis ok, c est de la standardisation, mais bon ca te laisse pas maitre de ce que tu fais.
mais c est pas mal je dis pas.
mais ca parait magique et sans aucun lien quand tu ne sais pas du tout comment ca marche.
 
excuse moi dark je suis au taffe et je ne peux lire ton dernier poste entierement je copie colle et je le lis merci :D.
par contre en atttendant j ai dautres questions :).
 
 
Comment modifier la servlet d un JSP ?
JBuilder me recompile a chaque fois que je lance la JSP une nouvelle servle et vire les methjodes que je lui rajoute.
 
pour les servlets generer j ai pas trouver ca tres clair ce qui est propose dedans.
je ne sais si c est vraiment ca.
 
y a un pb aussi ici:

Citation :

citation:
A un moment donné dans une servlet tu as fait
 
HttpSession sess = request.getSession();
sess.put("Jsp1BeanId", MyBeanId);
 
Et c'est cimme ca que tu as pu le récupérer via le scope "session". Si tu avais fait
 
request.put("Jsp1BeanId", MyBeanId); tu aurais du déclarer un truc du genre au début de ton jsp  
 
<jsp:useBean id="Jsp1BeanId" scope="request" class="jsptutorial.Jsp1Bean" />  
 
Mais bon ca n'a pas bcp de sens à ce moment là ...
 
Ceci étant éclairé, fais moi savoir si tu as d'autres questions.  


 
 
tu fais ca ou exactement ?
car je ne peux le faire dans le bean, et non plus dans le jsp.
je n arrives donc pas a fire le put dans la session, mais et j imagine qu il y a un get ?
qu elle est la sybtaxe exact ? donnee variable nom ...
la variable session fonctionne comme un vecteur ?
mybeanid c est le nom d une variable ? et jspbeanid c est ca valeur ?
 
 
 
pool de connection.
Est ce qu'un pool de connxion prend en ompte la fermeture du serveur de base de donnees ?
en gros si on coupe le serveur et que la servlet ou la jsp est toujours en route, les connexions seront pour lui toujours active ? ou il les reouvrira une fois que la bd est a nouveu disponible ?
car si l on fait une conxion toute bete et si la bd se ferme il ne referra pas de connexion tout seul apres, il fera comme sil ancienne connxion etait toujours valide mais en balancant plein d erreur d exception etc... donc gestion supplementaire.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 09-01-2002 à 15:00:34    

Clarkent a écrit a écrit :

je suis ok, c est de la standardisation, mais bon ca te laisse pas maitre de ce que tu fais.



 
Bin si! Mais enfin :D  
Tu veux récupérer la propriété d'un bean tu fais jsp:getProperty ton bean ta propriété et ca appelle le getter de ta propriété. Explique moi en quoi tu n'es pas maitre de ce que tu fais ??? Je ne vois pas.
 
Personne ne t'empeche de faire <%= monbean.getProp() %> que je sache ;)
 
Comment modifier la servlet d un JSP ?
 
Allez, encore une question à la clarkent :D :D :D
La JSP t'offre des fonctionnalités utiles pour designer une page HTML. En fait c'est une page HTML avec du code dedans (un peu comment le javascript dans un doc html au niveau idée je parle). Bon le fait que ce soit une page html simple est cool parce que tu peux faire bosser un designer dessus.
EN CUISINE INTERNE Ta JSP est traduite en servlet, compilée et executé par la JVM du serveur. Ce procédé se fait on the fly et donc PQ VEUX TU BON SANG DE BONSOIR MODIFIER LA SERVLET  :gun:  :gun:  :gun:  
 
ouf j'ai chaud  :lol:  :lol:  :lol:  
 

Citation :


JBuilder me recompile a chaque fois que je lance la JSP une nouvelle servle et vire les methjodes que je lui rajoute.


 
Peux tu préciser? Tu ajoutes des méthodes où? Comment? Pour info, le répertoire WORK est un répertoire de travail (:lol:) de Tomcat et tu dois pas aller chipoter dedans !!!!
 
pour les servlets generer j ai pas trouver ca tres clair ce qui est propose dedans.
je ne sais si c est vraiment ca.
 
Tu ne dois rien faire la bas. Tu dois coder tes trucs dans ta jsp mais n'oublie pas que la JSP c'est fait pour faire du rendering point barre. NE commence pas à te connecter à une BD dans une JSP. Ca c'est le boulot d'une servlet ou d'un bean.
 
 

Citation :

citation:
tu fais ca ou exactement ?
 
car je ne peux le faire dans le bean, et non plus dans le jsp.
je n arrives donc pas a fire le put dans la session, mais et j imagine qu il y a un get ?
qu elle est la sybtaxe exact ? donnee variable nom ...
la variable session fonctionne comme un vecteur ?
mybeanid c est le nom d une variable ? et jspbeanid c est ca valeur ?


Dans la servlet routeur par exemple ... Ou dans le JSP directement mais ce n'est pas une bonne idée. Je t'ai déjà dit de te renseigner sur le modele MVC. Fais le et tu auras réponse à ta question.
 
Non tu vas pas l'ajouter dans le bean. C'est clair que le bean ne va pas s'ajouter tout seul dans la session. JSP? Tu pourrais mais encore une fois voir MVC pour les best practises.
 
La syntaxe, voir l'api. C'est très bien expliqué et je l'ai déjà écrit au moins 3* ajd. Ca m'énerve d'écrire tout le temps la même chose:
 

Citation :


 
Pour la requete:
 
 
public java.lang.Object getAttribute(java.lang.String name)Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.  
Attributes can be set two ways. The servlet container may set attributes to make available custom information about a request. For example, for requests made using HTTPS, the attribute javax.servlet.request.X509Certificate can be used to retrieve information on the certificate of the client. Attributes can also be set programatically using setAttribute(java.lang.String, java.lang.Object). This allows information to be embedded into a request before a RequestDispatcher call.  
 
public void setAttribute(java.lang.String name,
                         java.lang.Object o)Stores an attribute in this request. Attributes are reset between requests. This method is most often used in conjunction with RequestDispatcher.  
 
 
Pour la session:
 
getAttribute
public java.lang.Object getAttribute(java.lang.String name)Returns the object bound with the specified name in this session, or null if no object is bound under the name.
Parameters:
name - a string specifying the name of the object
Returns:
the object with the specified name
 
setAttribute
public void setAttribute(java.lang.String name,
                         java.lang.Object value)Binds an object to this session, using the name specified. If an object of the same name is already bound to the session, the object is replaced.  


Clair ?
 
Dans une servlet tu récupères la requete en paramètre:
doGet
protected void doGet(HttpServletRequest req,
                     HttpServletResponse resp)
              throws ServletException,
                     java.io.IOException
 
et la session en faisant
request.getSession();
Dans un JSP c'est des variables pré-defines :
 
request
session
 
Pff fatigué  :hello:

 

[edtdd]--Message édité par darklord22--[/edtdd]


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 09-01-2002 à 20:17:36    

bon deja je reponds direct a ce que tu dis au debut :).
oui j ai essye de modifier directement la servlet :D.
mias bon apres copup je me suis dit que c etait generer par le JSP donc normal que lesmodifications ne sois pas pris en compte :D.
mais bon haut je debute toujours :p.
et encore et longtemps :D.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 09-01-2002 à 20:20:24    

ok j ai un peu vu tout ca.
merci.
 
et pour mon pool de connexion :D ?


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 10-01-2002 à 01:05:24    

Clarkent a écrit a écrit :

oui j ai essye de modifier directement la servlet :D.




:lol: c'est pas une bonne idée ! ;)
 
pour ajouter des méthodes, tu met ta déclaration daentre <%! et %>  (le  ! signifie que c'est un bloc déclaratif en dehors de la méthode service).

Reply

Marsh Posté le 10-01-2002 à 19:20:28    

on peut faire des methodes direct dansle JSP comme ca ?
trop fort :D.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 10-01-2002 à 22:05:01    

bha ouais. tout ce que tu peux faire dans une servlet, tu peux le faire en JSP.
 
les blocs déclaratifs c'est bien pratique parfois.
 
et puis c'est indispensable pour pour pouvoir définir les méthodes d'initialisation et de destruction (jspInit / jspDestroy).
 
on peut faire plein d'autres trucs encore. ex : changer la classe dont hérite la servlet générée (HttpServlet par défaut)

Reply

Marsh Posté le 10-01-2002 à 23:09:59    

benou a écrit a écrit :

bha ouais. tout ce que tu peux faire dans une servlet, tu peux le faire en JSP.
 
les blocs déclaratifs c'est bien pratique parfois.
 
et puis c'est indispensable pour pour pouvoir définir les méthodes d'initialisation et de destruction (jspInit / jspDestroy).
 
on peut faire plein d'autres trucs encore. ex : changer la classe dont hérite la servlet générée (HttpServlet par défaut)  



il est vrai qu on ne voit pas ces methodes :/.
 
donc a linterieu de : <%! ... %> on peut declarer une nouvelle methode ? etpar la meme occasion mettre tout le code dedans :D ?
 
si on veut afficher du html al interieur de cettemehtode on fait comment ?
 
 
<%! public nouvellemethode(){ ..... %> code html <% ... } %>
ca marche ca ?


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 10-01-2002 à 23:40:37    

[:benou] ha nan ca marche pas !  
 
si tu veux pouvoir écrire depuis une méthode dans la page HTMl, il faudra que tu lui ajoute le paramètre out et qui tu fasse des out.println("..." ), comme dans une servlet quoi !
Mais bon, si tu fais du jsp c'est pas pour générer ton code à l'intérieur de méthodes ! ;)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-01-2002 à 00:15:59    

benou a écrit a écrit :

[:benou] ha nan ca marche pas !  
 
si tu veux pouvoir écrire depuis une méthode dans la page HTMl, il faudra que tu lui ajoute le paramètre out et qui tu fasse des out.println("..." ), comme dans une servlet quoi !
Mais bon, si tu fais du jsp c'est pas pour générer ton code à l'intérieur de méthodes ! ;)  



c est exact mais bon ok c est possible.
je vais bien jouer avec le parametre out moi :D.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 11-01-2002 à 08:15:54    

Clarkent a écrit a écrit :

c est exact mais bon ok c est possible.
je vais bien jouer avec le parametre out moi :D.  




 
Clarkent, please, va lire un bouquin. Je te vois venir à 10.000km
Sincèrement, tu vas te planter. Tu ne sais même pas pq benou t'as conseillé de ne pas utiliser out.
Une page JSP avant tout c'est une page HTML bon sang ! Et seule la partie dynamique est générée par le JSP. Le but aussi c'est qu'un web designer puisse lire ta page JSP et en modifier le design. Si tu fous des out.println("<title>Bonjour j'y connais rien ne JSP</title>" );
 
Un non informaticien n'est pas censé savoir ce que c'est.
 
Donc je te conseille plus que fortement de partir de zéro au lieu de vouloir faire ton projet comme ça avec la méthode Try&Run


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 11-01-2002 à 08:28:42    

darklord22 a écrit a écrit :

 
 
Clarkent, please, va lire un bouquin. Je te vois venir à 10.000km
Sincèrement, tu vas te planter. Tu ne sais même pas pq benou t'as conseillé de ne pas utiliser out.
Une page JSP avant tout c'est une page HTML bon sang ! Et seule la partie dynamique est générée par le JSP. Le but aussi c'est qu'un web designer puisse lire ta page JSP et en modifier le design. Si tu fous des out.println("<title>Bonjour j'y connais rien ne JSP</title>" );
 
Un non informaticien n'est pas censé savoir ce que c'est.
 
Donc je te conseille plus que fortement de partir de zéro au lieu de vouloir faire ton projet comme ça avec la méthode Try&Run  



je me forme tout seula jsp la.
j ai rien commence.
y a qu n servlet ou j ai fait un truc et la  c est une usine et ca restera tel quel pour l instant.
et je suis le seul a faire le design et le code donc a ce niveau pas de pb.
des bouquins j y ai pour l instant pas acces bein je peux sortir pour aller en bibliothequie.
mais ca devrait arriver.
sinon j ai deja eu es bouquins mais pour les servlets :D.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed