Bonjour,
Voici une question de débutant
Qu'est ce qui fait qu'une Servlet soit par défaut multi thread?
Et combien de thread peut-telle lancer à la fois?
Merci d'avance
Bonjour,
Voici une question de débutant
Qu'est ce qui fait qu'une Servlet soit par défaut multi thread?
Et combien de thread peut-telle lancer à la fois?
Merci d'avance
Le chemin commence ici
http://www.codestyle.org/java/servle...-Threads.shtml
Merci beaucoup !!
c'est très util !
C'est le moteur de servlet (tomcat par exemple) qui multi threade les servlets autant de fois qu'il y'a de clients connectés je crois bien, et le nombre de thread depend de ta config dans le fichier de conf server.xml (maxThread=...).
merci pour ta reponse.
Cela m'amène à poser une autre question, si au niveau de la méthode init() de ma servlet, je fais appel à un objet X, seront dans ce cas créees autant d'instances X que de threads lancé?
Merci d'avance
je mets à jour ma question. la méthode init() est appelée une seule fois, donc tout objet crée dedans est crée en une seule copie.
en lisant le cycle de vie d'une servlet je ne trouve aucune allusion aux fameuse doGet doPost, est ce normale?
Il existe 2 modes d'appel d'une servlet (en gros)
- une url avec les paramètres qui suivent (ex: http://serveur/appli/ma.servlet?para...mValue=Valeur2)
Dans ce cas, c'est la méthode doGet qui est appelée
- un formulaire
Là, ça dépend de l'attribut method="POST" ou method="GET"
Maintenant, si tu veux t'affranchir de cette problématique, tu peux également utiliser la méthode "service" qui répond indifféremment à POST ou GET.
Tu peux également coder dans doPost et faire un transfert à doPost dans doGet
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 soit public void service(HttpServletRequest request, HttpServletResponse response) { ... ici on mettra le code à exécuter } soit public void doPost(HttpServletRequest request, HttpServletResponse response) { ... ici on mettra le code à exécuter } public void doGet(HttpServletRequest request, HttpServletResponse response) { doPost(request, response); }
Merci bien ! mtn c plus clait
Bonne journée!
ce moderateur ecrit donc :
"
Il existe 2 modes d'appel d'une servlet (en gros)
- une url avec les paramètres qui suivent (ex: http://serveur/appli/ma.servlet?para...mValue=Valeur2)
Dans ce cas, c'est la méthode doGet qui est appelée
- un formulaire
Là, ça dépend de l'attribut method="POST" ou method="GET"
"
1. lancer la requête du protocole http :
"http://serveur/appli/ma.servlet?para...mValue=Valeur2"
est l'EXACT résultat de la soumission html d'un formulaire avec la méthode GET
2.
il ne reste donc qu'une seule maniere de la faire les éventuelles possibilités n'aboutissant qu' à l'exact résultat équivalent à l'une des possibilités d'envoi de la requete http ac un formulaire.
3. pour le "soit service, soit do post et doget", si vous ne redéfinissiez ( et pas "coder") ni doGet ni doPost, ni service, eh bien figurez vous que l'objet de la classe dérivant de HttpServlet sera bien instancié!
J'ai même appris, aujourd'hui même, à mes stagiares à controler le nombre exact d'objets de cette classe seront instancié, suite à une première requête, et ce avec le web.xml
Je me demande en quoi une quelconque redéfinition de methode ds la classe servlet aideraitr à qquoique se soit quant au test du multiThreading.
Cela pourrait il consister à faire "un thread par requête, ie par appel de do get ouu do post"
ou peut etre affichez vous le threadName dans chaque réponse html ...?
intéressé,
jean-baptiste.
je viens jsute de penser que je peut même si demande fournir une page html avec un seul et unique formulaire capable d'envoyer une requête HTTP en post avec ou sans donnees, en get avec ou sans donnes, et même soius la même forme qu'une balise <a href="url" ></a>, sans balise anchor, et donc sans données mais , en plus des envois en get et post sans données, non seulement il n'y aura pas de données, mais, après le ? commencant les données dans une requête, il n'y aura mâma pas les name des input du formulaire, si vous suivez ma pensée .. ( suis un peu fainéant quant à rendr encore plus clair ce dernier point , questionnez si necessaire ...)
amicalement vôtre,
jean-b.
Partager