Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1862 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java - servlet] Logique de fonctionnement

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[Java - servlet] Logique de fonctionnement

n°150636
El_gringo
Posté le 04-06-2002 à 10:00:50  profilanswer
 

La, je passe qqs minutes par jour à faire avancer ma servlet. Mais sinon, dans ma boite, je m'occuper aussi d'une appli ISAPI.
Dans cette appli, y a plusieurs points d'entrée. Je m'explique:
Selon les paramètres qu'on entre dans le ligne de commande, on peut entrer directement dans telle ou telle fonction de mon objet ISAPI.
Par exemple, la ligne de commande suivante:
http://localhost/ldsweb.dll?MaFonction&MonParam1=1
Demandera d'exécuter la fonction MaFonction qui aura comme paramètre MonParam=1
Avec les servlets, ce concept n'existe pas !?
Je devrais tout aiguiller "manuellement" vers telle ou telle fonction dans les méthode DoGet et DoPost !?


Message édité par El_gringo le 06-04-2002 à 10:14:11
mood
Publicité
Posté le 04-06-2002 à 10:00:50  profilanswer
 

n°150642
Profil sup​primé
Posté le 04-06-2002 à 10:03:19  answer
 

if (httpservletrequest.getParameter("monparam" )==1)
{...}
else if (httpservletrequest.getParameter("monparam" )==2)
{...}


Message édité par Profil supprimé le 06-04-2002 à 10:18:17
n°150656
El_gringo
Posté le 04-06-2002 à 10:14:26  profilanswer
 

mr_mat a écrit a écrit :

if (httpservletrequest.getParameter("monparam" )==1)
{...}
else if (httpservletrequest.getParameter("monparam" )==1)
{...}  




 
T'as pas compris ce que je demande...

n°150661
darklord
You're welcome
Posté le 04-06-2002 à 10:16:23  profilanswer
 

t'as déjà fais un get sur une servlet?  
 
si tu fais un get avec ?MonParam=1 tu peux faire ca dans ta méthode
 
request.getParameter("MonParam" );
ensuite tu peux utiliser cette valeur pour faire ce que tu veux. Je crois qu'il a compris la question, c'est plutot toi qui a pas compris la réponse :D


---------------
Just because you feel good does not make you right
n°150665
Profil sup​primé
Posté le 04-06-2002 à 10:18:57  answer
 

DarkLord a écrit a écrit :

t'as déjà fais un get sur une servlet?  
 
si tu fais un get avec ?MonParam=1 tu peux faire ca dans ta méthode
 
request.getParameter("MonParam" );
ensuite tu peux utiliser cette valeur pour faire ce que tu veux. Je crois qu'il a compris la question, c'est plutot toi qui a pas compris la réponse :D  



:jap:
 
en tout cas moi je fais comme ca, je récupère la paramètre et j'ai des grands if pour les différentes possibilités

n°150675
El_gringo
Posté le 04-06-2002 à 10:26:18  profilanswer
 

DarkLord a écrit a écrit :

t'as déjà fais un get sur une servlet?  
 
si tu fais un get avec ?MonParam=1 tu peux faire ca dans ta méthode
 
request.getParameter("MonParam" );
ensuite tu peux utiliser cette valeur pour faire ce que tu veux. Je crois qu'il a compris la question, c'est plutot toi qui a pas compris la réponse :D  




 
...Non, ça vient peut être de moi, mais alors c que je me suis mal exprimé.
Quand on tape comme ligne de commande:
http://localhost/MaServlet/MaFonction1?MonParam=1
C'est moi qui vais devoir dire: [CODE]Si la paramètre avant le "?" est MaFonction1, alors appeler MaFonction1 avec comme paramètre le paramètre "MonParam", dans la méthode doGet de ma servlet ?

n°150679
darklord
You're welcome
Posté le 04-06-2002 à 10:31:54  profilanswer
 

ah ok je vois. Tu veux, au sein de ta servlet, pouvoir dire que si MaFonction vaut "toto" et que MonParam vaut 1 tu dois appeler dans ta servlet  
 
toto(1);
 
C'est ca que tu veux faire?
 
Si c'est ca c'est simple et supporté en Java via la reflexion. En gros, tu peux à partir d'une string, récupérer un objet Method que tu peux invoquer.
 
Mais je pense que tu prends le problème à l'envers. Ta servlet doit faire office de routeur et appeller des Business objets dans ton backoffice. Tu peux donc mettre un param qui te permet de déterminer vers quel objects ta servlet doit router la requete.
 
Est ce clair?


---------------
Just because you feel good does not make you right
n°150684
benou
Posté le 04-06-2002 à 10:34:30  profilanswer
 

Regarde du côté de la classe java.lang.Class et du package java.lang.reflect

n°150712
El_gringo
Posté le 04-06-2002 à 10:46:09  profilanswer
 

DarkLord a écrit a écrit :

ah ok je vois. Tu veux, au sein de ta servlet, pouvoir dire que si MaFonction vaut "toto" et que MonParam vaut 1 tu dois appeler dans ta servlet  
 
toto(1);
 
C'est ca que tu veux faire?
 
Si c'est ca c'est simple et supporté en Java via la reflexion. En gros, tu peux à partir d'une string, récupérer un objet Method que tu peux invoquer.
 
Mais je pense que tu prends le problème à l'envers. Ta servlet doit faire office de routeur et appeller des Business objets dans ton backoffice. Tu peux donc mettre un param qui te permet de déterminer vers quel objects ta servlet doit router la requete.
 
Est ce clair?  




 
Ouais, c clair.
Genre, je ferai un paramètre qui serait:
action
Je passerai ce paramètre à ma servlet à chacun des appel.
Genre
http://localhost/MaServlet&action=AfficherLesIndex
alors dans mon doGet, je fais un switch sur le paramètre action.
Je pourrait aussi ajouter à MaServlet une méthode qui serait ValidParams qui vérifierai si tous les paramètres pour l'appel de telle ou telle méthode ont été précisé.
ouais !?

n°150715
darklord
You're welcome
Posté le 04-06-2002 à 10:46:55  profilanswer
 

absolument!


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 04-06-2002 à 10:46:55  profilanswer
 

n°150726
El_gringo
Posté le 04-06-2002 à 10:51:58  profilanswer
 

DarkLord a écrit a écrit :

absolument!  




 
Nickel. J'aime quand je comprend :D
Merci beaucoup.
ps: Je pose plein de questions, ms j'pense que c pas profitable qu'a moi. Et je trouve que c génial d'apprendre comme ça. Merci Dark, merci Benou, et ts les autres...
Ha, Dark, d'ailleurs, autre chose (rien à voir, ms bon...):
Qu'est ce qui fait que, pour utiliser des String par exemple, je vais importer tout le package Java.lang ou que je vais utiliser les String en mettant à chaque fois java.lang.String ?
Moi pour l'instant, j'importe à chaque fois que g besoin d'un truc. ça fait du code plus propre, ms c gênant d'un autre coté !?

n°150730
darklord
You're welcome
Posté le 04-06-2002 à 10:58:26  profilanswer
 

je comprends pas ta question.
 
Déjà java.lang est importé automatiquement donc tu n'as absolumenet pas besoin de l'importer.
 
Le problème c'est le clash entre classes. Par exemple Date. Si je me souviens bien tu as
 
java.sql.Date
java.util.Date
 
Si tu mets Date qqpart dans un code et que tu as importé les deux packages, tu vas avoir une erreur du compilo.
 
Mais à part ca ...


---------------
Just because you feel good does not make you right
n°150750
El_gringo
Posté le 04-06-2002 à 11:12:23  profilanswer
 

DarkLord a écrit a écrit :

je comprends pas ta question.
 
Déjà java.lang est importé automatiquement donc tu n'as absolumenet pas besoin de l'importer.
 
Le problème c'est le clash entre classes. Par exemple Date. Si je me souviens bien tu as
 
java.sql.Date
java.util.Date
 
Si tu mets Date qqpart dans un code et que tu as importé les deux packages, tu vas avoir une erreur du compilo.
 
Mais à part ca ...  




 
Ha, je savait pas que java.lang était importer tt seul.
Bah, je me demandais si importer trop de packages, ça faisait pas prendre plus de place en mémoire à l'utilisation par exemple, ou si ça ralentissait pas l'execution.
ça change absoluement rien !? (si ce n'est dans l'écriture du code)

n°150756
darklord
You're welcome
Posté le 04-06-2002 à 11:15:46  profilanswer
 

non. De toutes façons la JVM ne va prendre que les classes dont elle a besoin meme si tu fait .*


---------------
Just because you feel good does not make you right
n°150759
El_gringo
Posté le 04-06-2002 à 11:17:13  profilanswer
 

DarkLord a écrit a écrit :

non. De toutes façons la JVM ne va prendre que les classes dont elle a besoin meme si tu fait .*  




 
ça m'arrange bien.
Merci

n°151508
El_gringo
Posté le 05-06-2002 à 11:00:35  profilanswer
 

el_gringo a écrit a écrit :

 
 
Ouais, c clair.
Genre, je ferai un paramètre qui serait:
action
Je passerai ce paramètre à ma servlet à chacun des appel.
Genre
http://localhost/MaServlet&action=AfficherLesIndex
alors dans mon doGet, je fais un switch sur le paramètre action.
Je pourrait aussi ajouter à MaServlet une méthode qui serait ValidParams qui vérifierai si tous les paramètres pour l'appel de telle ou telle méthode ont été précisé.
ouais !?  




 
Tient, en Java non plus on peut pas faire des switch sur des chaines de caractères. Du coup, je peux pas faire de switch sur ce paramètre "action". Je suis obligé de faire des if ou il y a une autre méthode ?

n°151520
darklord
You're welcome
Posté le 05-06-2002 à 11:07:00  profilanswer
 

bin écoute chaque language a ces systèmes  
 
un if else est très bien. Perso j'ai toujours détesté les switch


---------------
Just because you feel good does not make you right
n°151558
El_gringo
Posté le 05-06-2002 à 11:45:47  profilanswer
 

DarkLord a écrit a écrit :

bin écoute chaque language a ces systèmes  
 
un if else est très bien. Perso j'ai toujours détesté les switch  




 
Ouais, tant pis.
J'vois pas pourquoi tu détestes les switch. ça clarifie carrément l'écriture quand t'as justement un aiguillage à faire.
au lieu des tas de if else imbriqués, tu fais un switch et ça roule...
ms bon, j'ferai des if else hein ! :(

n°151573
greg@frees​tarthu
Posté le 05-06-2002 à 11:59:10  profilanswer
 

DarkLord a écrit a écrit :

bin écoute chaque language a ces systèmes  
 
un if else est très bien. Perso j'ai toujours détesté les switch  




 
oh moi j'aime bien les switchs  :fuck:  
 
(a tel point que qd je dois faire ce qu'il doit faire le bonhomme, je passe un entier comme "action", et je fais un switch avec des case sur des final-static-int :)

n°151589
El_gringo
Posté le 05-06-2002 à 12:17:17  profilanswer
 

greg@freestarthu a écrit a écrit :

 
 
oh moi j'aime bien les switchs  :fuck:  
 
(a tel point que qd je dois faire ce qu'il doit faire le bonhomme, je passe un entier comme "action", et je fais un switch avec des case sur des final-static-int :)  




 
Ouais, ms je suis à peu près obligé de faire que action soit une String.
tu connais pas un moyen de convertir une String en un entier qui lui est propre ?

n°151592
greg@frees​tarthu
Posté le 05-06-2002 à 12:20:31  profilanswer
 

el_gringo a écrit a écrit :

 
 
Ouais, ms je suis à peu près obligé de faire que action soit une String.
tu connais pas un moyen de convertir une String en un entier qui lui est propre ?  




 
euh ouais un gros if{}else{}

n°151728
El_gringo
Posté le 05-06-2002 à 14:26:02  profilanswer
 

greg@freestarthu a écrit a écrit :

 
 
euh ouais un gros if{}else{}  




 
...ça me permet de me débrouiller ça, ms ça converti pas une String en un entier !

n°151731
greg@frees​tarthu
Posté le 05-06-2002 à 14:29:51  profilanswer
 

el_gringo a écrit a écrit :

 
 
...ça me permet de me débrouiller ça, ms ça converti pas une String en un entier !  




tu te fous de ma gueule? t'es quand meme pas en train de me demander comment faire int monint = Integer.parseInt(maString) ??????
 :heink:

n°151764
El_gringo
Posté le 05-06-2002 à 15:02:40  profilanswer
 

greg@freestarthu a écrit a écrit :

 
tu te fous de ma gueule? t'es quand meme pas en train de me demander comment faire int monint = Integer.parseInt(maString) ??????
 :heink:  




 
ha bah ouais, c vrai que c trop évident comme truc ! (là en fait, c ironique). ça te parait peut être naturel, ms je t'assure que qd on fait de Java depuis peu,  vachement moins.
Et comment ça se fait que tu m'dises de faire des if else !? ça irai pas de parser les String en entiers !?

n°151769
darklord
You're welcome
Posté le 05-06-2002 à 15:07:01  profilanswer
 

rooh putain ...


---------------
Just because you feel good does not make you right
n°151774
El_gringo
Posté le 05-06-2002 à 15:09:56  profilanswer
 

DarkLord a écrit a écrit :

rooh putain ...  




 
!? :??:

n°151805
darklord
You're welcome
Posté le 05-06-2002 à 15:25:37  profilanswer
 

je fais ca qd j'en ais ras le bol :)
 
lassitude en gros ...


---------------
Just because you feel good does not make you right
n°151812
El_gringo
Posté le 05-06-2002 à 15:29:29  profilanswer
 

DarkLord a écrit a écrit :

je fais ca qd j'en ais ras le bol :)
 
lassitude en gros ...  




 
ha... Ouais, j'te comprend.
C vrai qu'on est en train de discutailler pour pas grand chose.
Ms ça m'énerve. Il insinue un peu que je suis trop con, parce que je connaissais pas

Code :
  1. Integer.parseInt(maString)

.
Enfin, bon, voila quoi.
Sur ce...
@+

n°151889
greg@frees​tarthu
Posté le 05-06-2002 à 16:56:34  profilanswer
 

el_gringo a écrit a écrit :

 
 
ha... Ouais, j'te comprend.
C vrai qu'on est en train de discutailler pour pas grand chose.
Ms ça m'énerve. Il insinue un peu que je suis trop con, parce que je connaissais pas

Code :
  1. Integer.parseInt(maString)

.
Enfin, bon, voila quoi.
Sur ce...
@+  




ha non, non , désoled
mais je pensais t'avoir déjà vu trainer sur plusieurs topics java, donc il me semblait que tu connaissais ça quoi...
enfin ché pas, vu ce dont tu parlais, le parseInt me paraissait d'un niveau largement inférieur
désolé
COPAING :)

n°151952
El_gringo
Posté le 05-06-2002 à 18:06:14  profilanswer
 

greg@freestarthu a écrit a écrit :

 
ha non, non , désoled
mais je pensais t'avoir déjà vu trainer sur plusieurs topics java, donc il me semblait que tu connaissais ça quoi...
enfin ché pas, vu ce dont tu parlais, le parseInt me paraissait d'un niveau largement inférieur
désolé
COPAING :)  




 
Bah le Java, j'apprend au jour le jour.
Le parseInt, c pas une question de niveau inférieur ou supérieur, 'faut l'avoir déja rencontré une fois, c tout !
Ms bon, merci qd même, on va dire COPAING alors !:D
Par contre, y va y avoir un pb si je fait ça (g pas essayé, pas u l'temps de faire du java aujourd'hui):
switch (Integer.parseInt(maString))
{
   case...
   ...
}
c'est qu'apparement parseInt, ça me rend nu entier signé !
le switch y va pas aimer ça...
et caster ça en non signer, ça me parait un peu barbare.
J'crois que je vais faire des if else, et ça sera tant pis !

n°151954
greg@frees​tarthu
Posté le 05-06-2002 à 18:08:39  profilanswer
 

el_gringo a écrit a écrit :

 
c'est qu'apparement parseInt, ça me rend nu entier signé !
le switch y va pas aimer ça...



y'a pas de raisons que ça passe pas, mais je vois pas non plus pourquoi tu aurais qqch comme action=-4 dans tes parametres de requetes!? pq tu passerais pas des entiers positifs...?

n°151961
El_gringo
Posté le 05-06-2002 à 18:15:37  profilanswer
 

Ha, mais d'accord. En fait on s'est ma compris.
Moi, je veux passer comme paramètre
action="MaFonction" (pour que ça soit plus clair quand on tape la requête, je veux pas qu'on tape des chiffres pour action).
Ce que je cherchais, c'est une méthode qui ferai correspondre un entier au mot "MaFonction". Pour pouvoir switcher dessus, bien que ça n'soit pas un entier.
parseInt fera pas ça !? ça plantera tu crois si je fais parseInt sur la String "MaFonction" ?
En fait parseInt, c pour convertir en entier une chaine qui représente un entier apparement. C pas ça que je cherche. Ms je me l'écrirai moi même cette fonction. Ou alors je ferai des if else, et je me ferais moins chier !

n°151964
greg@frees​tarthu
Posté le 05-06-2002 à 18:19:15  profilanswer
 

el_gringo a écrit a écrit :

Ha, mais d'accord. En fait on s'est ma compris.
Moi, je veux passer comme paramètre
action="MaFonction" (pour que ça soit plus clair quand on tape la requête, je veux pas qu'on tape des chiffres pour action).
Ce que je cherchais, c'est une méthode qui ferai correspondre un entier au mot "MaFonction". Pour pouvoir switcher dessus, bien que ça n'soit pas un entier.
parseInt fera pas ça !? ça plantera tu crois si je fais parseInt sur la String "MaFonction" ?



 
OUI :)
 

Citation :

En fait parseInt, c pour convertir en entier une chaine qui représente un entier apparement. C pas ça que je cherche. Ms je me l'écrirai moi même cette fonction. Ou alors je ferai des if else, et je me ferais moins chier !


 
et qu'est-ce que tu esperes avoir comme entier a partir de "pouet" ou de "blabla" ... ???
 
passe des entiers, ou fait des if else, et paf

n°151966
darklord
You're welcome
Posté le 05-06-2002 à 18:27:10  profilanswer
 

greg@freestarthu a écrit a écrit :

 
et qu'est-ce que tu esperes avoir comme entier a partir de "pouet" ou de "blabla" ... ???




 
 [:xp1700]


---------------
Just because you feel good does not make you right
n°152159
benou
Posté le 05-06-2002 à 23:22:33  profilanswer
 

Moi j'aurais fait de l'invocation dynamique depuis le début ...
t'es pas emmerder avec les if au moins :D

n°152166
greg@frees​tarthu
Posté le 05-06-2002 à 23:29:28  profilanswer
 

benou a écrit a écrit :

Moi j'aurais fait de l'invocation dynamique depuis le début ...
t'es pas emmerder avec les if au moins :D  




de quoi?:)


---------------
\^o^/ Libérez HotShot \^o^/
n°152197
benou
Posté le 05-06-2002 à 23:46:19  profilanswer
 

bha il veut pouvoir déclencher l'execution d'un méthode en passant en paramètre son nom et ses paramètres ...
 
y a qu'à faire ca :
 
this.getClass().getMethod(request.getParameter("method" ), new String[] {String.class, ..., String.Class}).invoke(null, new Object[] {request.getParameter("param1" ), ..., request.getParameter("paramN" )});
pour peut qu'il ait un nombre fixe de paramètre à ses méthodes, le problème est résolu en une ligne (déguelasse et illisible) de code

n°152208
greg@frees​tarthu
Posté le 05-06-2002 à 23:51:38  profilanswer
 

benou a écrit a écrit :

bha il veut pouvoir déclencher l'execution d'un méthode en passant en paramètre son nom et ses paramètres ...
 
y a qu'à faire ca :
 
 [...]
pour peut qu'il ait un nombre fixe de paramètre à ses méthodes, le problème est résolu en une ligne

Citation :

(déguelasse et illisible)

de code  




c le moins qu'on puisse dire!!!


---------------
\^o^/ Libérez HotShot \^o^/
n°152209
benou
Posté le 05-06-2002 à 23:52:37  profilanswer
 

:D
y a qu'à découpé en plein de ligne ... le principe est là ...

n°152215
greg@frees​tarthu
Posté le 05-06-2002 à 23:54:45  profilanswer
 

benou a écrit a écrit :

:D
y a qu'à découpé en plein de ligne ... le principe est là ...  




euh en une ligne ou 10, c'est moche et B A D !!


---------------
\^o^/ Libérez HotShot \^o^/
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java - servlet] Logique de fonctionnement

 

Sujets relatifs
[java/JSP] paramètres d'initialisation d'un JSP dans le web.xml[ java ] JTabbedPane à rafraîchir.
[Java] Lire un fichier de properties depuis une servlet[JAVA] Navigation dans un JEditorPane ????
[JAVA] probleme graphique avec mes JTree !!!![ java ] licence d'utilisation d'un jar commercial
[Java] Fichier WarProblème de survole avec la souris et deux java Script
[java]générateur d etat... 
Plus de sujets relatifs à : [Java - servlet] Logique de fonctionnement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR