# Java > Dveloppement Web en Java > Servlets/JSP >  [jsp][servlet] communication jsp servlet

## villeneuvejsp

Bonjour,

je dsire faire communiquer une page jsp avec une servlet. J'ai utilis la mthode "url.openConnection();"  la manire de la communication entre applet et servlet. 

Je ne sais pas exactement ce que je dois mettre comme url


```
url = new URL&#40;"http&#58;//localhost&#58;8080/bfc/SendMailServlet"&#41;;
```

Sachant que SendMailServlet.class est mis sous bfc/WEB-INF/classes/bfc.
Est ce que l'url spcifie est juste ou pas?

Voil, merci

----------


## Sniper37

salut,

je saisi pas trs bien ce que tu veux faire, pour passer des informations de la jsp  la servlet tu peux passer par un formulair via la mthode SET ou GET.

----------


## java_fun

bonjour, :o 

pour app une servlet  partir d'une jsp ta pas besoin de sp une url,
gnralement il faut faire la diffrence entre vue utilisateur ( tes jsp) et partie traitement ct serveur ( tes servlets) la jsp sert souvent comme un formulaire (voir html ) qui est remplie par l uitisateur et suivant ces donnes la servlet traite la demande du client et renvoit des rsultats soit  la mme page jsp ou soit  une autre selon les cas ( cas d erreur par exemple).

 ::arrow::  pour app ta servlet depuis ta jsp il faut juste mentionner le chemin de ta servlet dans l attibuts action du tag html <from></from>.

 ::arrow::  il faut penser bien sur  dfinire ce chemin dans ton fichier web.xml 

cordialement

----------


## jowo

Dis-nous pourquoi tu dsires faire communiquer ta JSP avec ta servlet?

Om pourra ainsi mieux t'aiguiller vers une solution.

----------


## Alwin

Pour t'aider, il faut savoir que ce sont gnralement les pages HTML (produitent  partir des pages JSP) qui invoque les servlet.
Les servlet rpondent et appelent les pages JSP
Ces dernires construise la page HTML  destination du navigateur.
Et on recommence...

----------


## Sniper37

Autre moyen pour communication client/serveur.. 
 ::arrow::  *AJAX*,  requetes  synchrone  ou asynchrone..

regardez ce qu'on peut faire avec :
http://www.netvibes.com/
http://www.start.com

NB: Gmail et googleEarth sont raliss avec AJAX.

----------


## villeneuvejsp

Au fait, j'ai dvelopp un forum de discussion en jsp en incluant une rponse automatique par mail lorsqu'un utilisateur rpond ou poste un message. 

SI je laisse  la page jsp le traitement de l'envoi des mails ( travers un bean), le temps de chargement de la page sera fonction du nombre de mails  envoyer (sachant que les mails sont personnaliss). 

Je dsire donc faire passer  une servlet deux paramtres et lui laisser en charge le traitement de l'envoi des mails.

Voil en gros. SI vous voulez je peux vous envoyer un code.

----------


## Alwin

JSP et Servlet sont tous les deux des composants synchrone...

----------


## jowo

Pour ton cas, il faut utiliser un systme asynchrone. Je ne sais pas si c'est possible avec JavaMail. 

Tu peux utiliser un systme de messages (un peu lourd).

Une autre solution est d'crire le courriels (un fichier par courriel)  envoyer dans un rpetoire (spool). Un autre processus indpendant lit les fichiers du spool et les envoit au serveur de mail.

----------


## fabszn

> Pour ton cas, il faut utiliser un systme asynchrone. Je ne sais pas si c'est possible avec JavaMail. 
> 
> Tu peux utiliser un systme de messages (un peu lourd).
> 
> Une autre solution est d'crire le courriels (un fichier par courriel)  envoyer dans un rpetoire (spool). Un autre processus indpendant lit les fichiers du spool et les envoit au serveur de mail.


Hello,

Je pense que la creation de fichier  par couriel peut etre une solution lourde de consequence. Si tous les utilisateurs se mettent  des mails cela risque de faire exploser le disque du  serveur ... 

tu peux utiliser JMS coupl au pattern command, cela permet d'envoyer des messages de maniere asynchrone.
Les commandes seront pass depuis la couche controle( Servlet)
Tu pourrais crer un service dedier a l'envoie de mail suffisamment generique pour que celui ci soit reutilisable dans un autre contexte ou sur une autre application (enfin c'est une ide)

----------


## jowo

> Envoy par jowo
> 
> Pour ton cas, il faut utiliser un systme asynchrone. Je ne sais pas si c'est possible avec JavaMail. 
> 
> Tu peux utiliser un systme de messages (un peu lourd).
> 
> Une autre solution est d'crire le courriels (un fichier par courriel)  envoyer dans un rpetoire (spool). Un autre processus indpendant lit les fichiers du spool et les envoit au serveur de mail.
> 
> 
> ...


  ::wink::  Pourtant c'est un des systmes le plus utilis. Les fichiers sont effacs aprs envoi ou ils sont remis dans un autre spool (undelivrable) s'ils n'ont pu tre dlivrs au serveur mail.

Comment fonctionne ton systme JMS? Il conserve  tous les messages en mmoire (ressource plus limite et prciseuse qu'un disque dur sur un serveur)   ::wink::   ou les crit-il dans un spool sur le disque?

----------


## villeneuvejsp

Au fait les gars, c trs fort ce que vous dites. Je ne connais pas exactement Java Messaging Service mais je pense qu'il est inutile de voir tout a. J'ai voulu juste faire passer deux variables d'une page jsp  une servlet. a se fait entre applet-servlet.

voil le code de la mthode de connexion avec la servlet, elle est appel dans une page jsp.



```

```

Aprs excution de la page jsp le message "TestSendOK" est affich dans les fichiers log de tomcat ce qui veut dire que la connexion s'est bien tablie (normalement) mais je n'ai aucune raction de la servlet.

Comme je l'ai dit dans mon premier message, il se peut que l'url dela servlet est fausse

----------


## jowo

As-tu essay avec un URL bidon (par exemple: http://localhost:8080/bfc/BidonServlet)?

Je pense que tu auras une erreur.

A mon avis, ton problme provient du fait que tu n'attends pas la rponse de ta servlet.

Un principe important d'une application web et que tout interrogation est suivie d'une rponse.   ::wink::

----------


## villeneuvejsp

J'ai pens  a mais je ne crois pas qu'une rponse est ncessaire. Y'a pas mal de forum de discussion sur le web qui implmente cette technique (comme le prsent forum quoiqu'il est dvelopp en php), le traitement d'une rponse  un post est rapide malgr que le nombre de mail  envoyer est important, donc je ne pense pas que la page jsp attend une rponse de la servlet.

Je vais essayer de mettre une url bidon et voir le rsultat.

Au fait si la page jsp doit avoir une rponse, je pourrai lui envoyer une rponse avant la fin du traitement de l'envoi des mails, ds que la servlet reoit le sparamtres de la page jsp. C'est une hypothse que je vais tester mais je ne pense pas que c la cause de l'chec.

----------


## jowo

Je crois que nous avons oubli de mettre la mthode.



```

```

Code non test

----------


## villeneuvejsp

l'objet URLHTTPConnection gnre une erreur.
Toutefois, j'ai pu recevoir  travers la servlet les deux variables mais reste encore des problmes  voir. Je ne sais si c'est la cause au fait que je ne programme pas de rponse de la servlet.

----------

