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

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Auteur Sujet :

Utiliser une servlet dans une jsp

n°186165
darklord
You're welcome
Posté le 30-07-2002 à 15:15:45  profilanswer
 

Reprise du message précédent :
Dis donc mon ami. Tu es sur que tu es là pour écouter les autres ou pour raconter n'importe quoi.
 
Tu t'avances sur des choses que tu ne maitrise pas et tu le prouve en racontant des conneries
 
Donc retour à la case départ :hello:
 
Edit : la pseudo servlet que j'ai écrite ne génère pas d'HTML. Elle est invoquée, mets le champ msg dans la requete et forwarde la requete à une JSP pour qu'elle s'occupe de l'affichage. C'est comme ca que ca doit fonctionner! et pas avec des statics machin chose!  :fou:


Message édité par darklord le 30-07-2002 à 15:16:44

---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 30-07-2002 à 15:15:45  profilanswer
 

n°186167
darklord
You're welcome
Posté le 30-07-2002 à 15:17:32  profilanswer
 

Tamahome a écrit a écrit :

Donc e nfait, ils arrivent bien a communiquer entre eux (JSP/Servlet)...
 
C'est le requestDispatcher qui sembl pas etre bon...j'ai pas l'impression que ce soit un pbm de path pourtant...




 
connerie sur connerie !
 
appeller une méthode statique d'un objet je n'appelle pas ca communiquer avec un objet figure toi ...


---------------
Just because you feel good does not make you right
n°186175
Tamahome
⭐⭐⭐⭐⭐
Posté le 30-07-2002 à 15:20:11  profilanswer
 

DarkLord a écrit a écrit :

Dis donc mon ami. Tu es sur que tu es là pour écouter les autres ou pour raconter n'importe quoi.
 
Tu t'avances sur des choses que tu ne maitrise pas et tu le prouve en racontant des conneries
 
Donc retour à la case départ :hello:
 
Edit : la pseudo servlet que j'ai écrite ne génère pas d'HTML. Elle est invoquée, mets le champ msg dans la requete et forwarde la requete à une JSP pour qu'elle s'occupe de l'affichage. C'est comme ca que ca doit fonctionner! et pas avec des statics machin chose!  :fou:  




 
Euh oui, j'ecoute: la preuve justement pour le static: relis les posts precendets, c lorill qui me l'a indique...j'essaie de suivre vos conseils c tout, pas tapai  :cry:  
 
Ta servlet ne genere pas de HTML mais la mienne oui.
 
tain je capte keud... :cry:  :cry:

n°186177
Tamahome
⭐⭐⭐⭐⭐
Posté le 30-07-2002 à 15:21:09  profilanswer
 

DarkLord a écrit a écrit :

 
 
connerie sur connerie !
 
appeller une méthode statique d'un objet je n'appelle pas ca communiquer avec un objet figure toi ...




 
ben pourtant faut bien qu'il recupere la donne a partir de l'objet non??? il l'invente pas qd meme...

n°186178
darklord
You're welcome
Posté le 30-07-2002 à 15:21:37  profilanswer
 

Tu travailles avec un ensemble de choses si tu veux voir comment séparer le traitement servlet / JSP:
 
La pseudo servlet que j'ai écrite
La bete JSP que j'ai écrite
 
si tu veux modifier pour qu'elle fonctionne en POST fais le mais ne vient pas me dire que mon requestdispatcher est foireux pour je ne sais quelle raison.
 
Tu es en train de t'enlisser et nous avec !


---------------
Just because you feel good does not make you right
n°186184
darklord
You're welcome
Posté le 30-07-2002 à 15:23:05  profilanswer
 

Tamahome a écrit a écrit :

 
 
ben pourtant faut bien qu'il recupere la donne a partir de l'objet non??? il l'invente pas qd meme...




 
pas une instance! Ca fait partie en gros de la déclaration de la classe. Dans un environnement web je dirai que communiquer au sens strict c'est appeller une instance de la classe. Ici du moment que ta servlet est dans le classpath on peut accéder au membre statique (meme pas besoin d'instance)
 
c'est pas un test fiable et ca ne réponds en AUCUN CAS à ta question initiale.
 
Faut pas sauter les étapes hein ... c'est normal que tu piges que dale si tu fais n'importe quoi sans te documenter un minimum


---------------
Just because you feel good does not make you right
n°186186
darklord
You're welcome
Posté le 30-07-2002 à 15:24:40  profilanswer
 

et une servlet ne dois pas générer d'HTML. Ca a déjà été dis en début de Thread.


---------------
Just because you feel good does not make you right
n°186188
Tamahome
⭐⭐⭐⭐⭐
Posté le 30-07-2002 à 15:27:02  profilanswer
 

DarkLord a écrit a écrit :

 
 
pas une instance! Ca fait partie en gros de la déclaration de la classe. Dans un environnement web je dirai que communiquer au sens strict c'est appeller une instance de la classe. Ici du moment que ta servlet est dans le classpath on peut accéder au membre statique (meme pas besoin d'instance)
 
c'est pas un test fiable et ca ne réponds en AUCUN CAS à ta question initiale.
 
Faut pas sauter les étapes hein ... c'est normal que tu piges que dale si tu fais n'importe quoi sans te documenter un minimum




 
hmmm je crois comprendre ce que tu veux dire....

n°186190
Tamahome
⭐⭐⭐⭐⭐
Posté le 30-07-2002 à 15:28:18  profilanswer
 

DarkLord a écrit a écrit :

et une servlet ne dois pas générer d'HTML. Ca a déjà été dis en début de Thread.




 
Oui mais on peut utiliser des templates qd meme non ? (si on veut se passer des JSP.). Ce n'est pas mon but, mais je sais que ca existe... (oui bon, le HTML sera de toutes facons hors de la servlet, mais ce que je veux dire c ke les jsp ne sont ps un point obligatoire pour separer le html de la servlet...)

n°186193
darklord
You're welcome
Posté le 30-07-2002 à 15:29:17  profilanswer
 

Tamahome a écrit a écrit :

 
 
(oui bon, le HTML sera de toutes facons hors de la servlet, mais ce que je veux dire c ke les jsp ne sont ps un point obligatoire pour separer le html de la servlet...)




 
si


Message édité par darklord le 30-07-2002 à 15:29:42

---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 30-07-2002 à 15:29:17  profilanswer
 

n°186199
Tamahome
⭐⭐⭐⭐⭐
Posté le 30-07-2002 à 15:32:43  profilanswer
 

DarkLord a écrit a écrit :

et une servlet ne dois pas générer d'HTML. Ca a déjà été dis en début de Thread.




 
vi, c pour ca que je veux y foutre du jsp...

n°186223
darklord
You're welcome
Posté le 30-07-2002 à 15:44:32  profilanswer
 

Tamahome a écrit a écrit :

 
 
vi, c pour ca que je veux y foutre du jsp...




 
ouais mais si tu n'appelles pas la servlet avant je vois pas a quoi ca sert d'en faire une hein :D


---------------
Just because you feel good does not make you right
n°186228
Tamahome
⭐⭐⭐⭐⭐
Posté le 30-07-2002 à 15:46:28  profilanswer
 

DarkLord a écrit a écrit :

 
 
ouais mais si tu n'appelles pas la servlet avant je vois pas a quoi ca sert d'en faire une hein :D




 
tu l'appelle comment la servlet ? J'ai vu un tag special dans les jsp, mais je suppose que c pas ca...
 

Code :
  1. <jsp:forward page="/MaClasse" />


Message édité par Tamahome le 30-07-2002 à 15:46:46
n°186622
lorill
Posté le 30-07-2002 à 23:20:59  profilanswer
 

Tamahome a écrit a écrit :

 
Euh oui, j'ecoute: la preuve justement pour le static: relis les posts precendets, c lorill qui me l'a indique...j'essaie de suivre vos conseils c tout, pas tapai  :cry:  




 
En te disant que si tu voulais juste utiliser des methodes d'autre objets, oui. Mais ca n'est plus une servlet du coup. Si je connaissais le smiley pour te taper dessus, je le mettrais, tiens...

n°186627
lorill
Posté le 30-07-2002 à 23:23:12  profilanswer
 

Tamahome a écrit a écrit :

 
 
tu l'appelle comment la servlet ?  




 
Par un formulaire ? Par un lien ?
 
Appler la servlet == appeler la methode doGet (ou post, je suis pas  sectaire). Autrement dit envoyer une requete HTTP GET (ou POST...), c'est a dire en faisant en sorte que le navigateur accede a l'url de ta servlet.

n°186730
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 07:56:35  profilanswer
 

lorill a écrit a écrit :

 
 
Par un formulaire ? Par un lien ?
 
Appler la servlet == appeler la methode doGet (ou post, je suis pas  sectaire). Autrement dit envoyer une requete HTTP GET (ou POST...), c'est a dire en faisant en sorte que le navigateur accede a l'url de ta servlet.




 
 
Hmm je vois...je vais tester ca aujourd'hui... :jap:

n°186801
darklord
You're welcome
Posté le 31-07-2002 à 09:54:53  profilanswer
 

Tamahome a écrit a écrit :

 
 
 
Hmm je vois...je vais tester ca aujourd'hui... :jap:  




 
Ce que je ne comprends pas c'est que tu viens pleurer parce que request.getAttribute("msg" ) te renvoie null alors que tu n'appelles pas la servlet ?
 
Tu croyais que ta JSP allait l'appeler par miracle? Enfin je comprends vraiment pas ton raisonnnement


---------------
Just because you feel good does not make you right
n°186872
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 11:12:52  profilanswer
 

DarkLord a écrit a écrit :

 
 
Ce que je ne comprends pas c'est que tu viens pleurer parce que request.getAttribute("msg" ) te renvoie null alors que tu n'appelles pas la servlet ?
 
Tu croyais que ta JSP allait l'appeler par miracle? Enfin je comprends vraiment pas ton raisonnnement




 
Ben vi, je pensais qu'il se debrouillait tout seul avec Tomcat pour appeller les classes kivonbien...

n°186893
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 11:28:52  profilanswer
 

je suis pas sur d'avoir mis la bonne url pour le getRequestDispatcher. Y'a pas un moyen de tester que le getRequestDispatcher c'est bien passé ??? (la ca me fait un joli nullPointerException dans le doGet qd je lance ma servlet...)
 
 [:totoz]  
 

Code :
  1. public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
  2.     {
  3. req.setAttribute("msg", "Hello World!" );
  4. RequestDispatcher d = req.getRequestDispatcher("http://localhost:8080/ev.jsp" );
  5. d.forward(req, res);
  6. }


Message édité par Tamahome le 31-07-2002 à 11:31:47
n°186900
--greg--
Posté le 31-07-2002 à 11:32:45  profilanswer
 

Code :
  1. req.getRequestDispatcher("/ev.jsp" ).forward(req, res);

n°186917
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 11:45:59  profilanswer
 

--greg-- a écrit a écrit :

Code :
  1. req.getRequestDispatcher("/ev.jsp" ).forward(req, res);






 
marche tjs pas :(  
J'ai pas du mettre les fichiers au bon endroit (la jsp dans root et les classes dans common/classes)...
 

Code :
  1. exception
  2. javax.servlet.ServletException: Servlet execution threw an exception
  3. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
  4. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
  5. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
  6. at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
  7. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
  8. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
  9. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
  10. at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
  11. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
  12. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
  13. at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
  14. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
  15. at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
  16. at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
  17. at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
  18. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
  19. at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
  20. at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
  21. at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
  22. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
  23. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
  24. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
  25. at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
  26. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
  27. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
  28. at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
  29. at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
  30. at java.lang.Thread.run(Thread.java:484)
  31. root cause
  32. java.lang.StackOverflowError
  33. at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
  34. ...une bonne centaine de lignes identiques
  35. at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)


Message édité par Tamahome le 31-07-2002 à 11:46:34
n°186922
darklord
You're welcome
Posté le 31-07-2002 à 11:47:53  profilanswer
 

--greg-- a écrit a écrit :

Code :
  1. req.getRequestDispatcher("/ev.jsp" ).forward(req, res);






Arrrghhhh  [:tapai]  
 
Et tu testes meme pas si ton requestdispatcher est null avant de forwarder !!
 
débutant !!! :)


---------------
Just because you feel good does not make you right
n°186923
darklord
You're welcome
Posté le 31-07-2002 à 11:48:22  profilanswer
 

Tamahome a écrit a écrit :

 
java.lang.StackOverflowError
 at  




 
T'es un champion toi  [:xp1700]


---------------
Just because you feel good does not make you right
n°186924
darklord
You're welcome
Posté le 31-07-2002 à 11:49:26  profilanswer
 

Tamahome a écrit a écrit :

 
 
Ben vi, je pensais qu'il se debrouillait tout seul avec Tomcat pour appeller les classes kivonbien...




 
Dis ca un sens ta phrase? Ce que tu dis c'est exactement pareil que si tu voulais envoyer un mail à qqun et tu appelles une méthode sans donner l'adresse email, le serveur la trouvera bien tout seul  :sarcastic:


---------------
Just because you feel good does not make you right
n°186938
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 11:54:19  profilanswer
 

DarkLord a écrit a écrit :

 
 
Dis ca un sens ta phrase? Ce que tu dis c'est exactement pareil que si tu voulais envoyer un mail à qqun et tu appelles une méthode sans donner l'adresse email, le serveur la trouvera bien tout seul  :sarcastic:  




 
Ben etant donne que ma servlet est mappé et qu'au demarrage de tomcat, il lit tous les web.xml contenus dans tous les sous-repertoire de webapps/, je suppose qu'il sait ou chercher les classes dont il a besoin...je ne vois rien de bizarre dans mon raisonnement...

n°186944
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 11:56:06  profilanswer
 

DarkLord a écrit a écrit :

 
 
T'es un champion toi  [:xp1700]  




 
spa bien de se moquer... y'a rien pour debugger les jsp/servlet...c vraiment un langage de merde... :fou:

n°186945
El_gringo
Posté le 31-07-2002 à 12:02:35  profilanswer
 

Tamahome a écrit a écrit :

 
 
spa bien de se moquer... y'a rien pour debugger les jsp/servlet...c vraiment un langage de merde... :fou:  




 
y a des trucs pour débugger les JSP Servlet.
netbean par exemple.
...et pour la suite, tu vas te faire allumer par Darklord. Moi je dis rien, je lui laisse ce plaisir ! :D

n°186947
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 12:05:44  profilanswer
 

el_gringo a écrit a écrit :

 
 
y a des trucs pour débugger les JSP Servlet.
netbean par exemple.
...et pour la suite, tu vas te faire allumer par Darklord. Moi je dis rien, je lui laisse ce plaisir ! :D




 
je me doute, ca doit vous faire tripper de gueuler sur ceux qui demandent des conseils... [:totoz]

n°186949
darklord
You're welcome
Posté le 31-07-2002 à 12:07:02  profilanswer
 

Tamahome a écrit a écrit :

 
 
Ben etant donne que ma servlet est mappé et qu'au demarrage de tomcat, il lit tous les web.xml contenus dans tous les sous-repertoire de webapps/, je suppose qu'il sait ou chercher les classes dont il a besoin...je ne vois rien de bizarre dans mon raisonnement...




 
Bin si, dis moi ou tu fais références à ta servlet dans ton JSP ... (je parle bien de la pseudo servlet que je t'ai filée pas celle avec le machin static)


---------------
Just because you feel good does not make you right
n°186950
darklord
You're welcome
Posté le 31-07-2002 à 12:07:15  profilanswer
 

Tamahome a écrit a écrit :

 
 
spa bien de se moquer... y'a rien pour debugger les jsp/servlet...c vraiment un langage de merde... :fou:  




 
Accusation facile et infondée :)


---------------
Just because you feel good does not make you right
n°186952
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 12:09:13  profilanswer
 

DarkLord a écrit a écrit :

 
 
Accusation facile et infondée :)




 
vi, mais ca soulage :p

n°186955
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 12:10:39  profilanswer
 

DarkLord a écrit a écrit :

 
 
Bin si, dis moi ou tu fais références à ta servlet dans ton JSP ... (je parle bien de la pseudo servlet que je t'ai filée pas celle avec le machin static)




 
<%@ page import="MaClasse" %>   :??:  :??:  
 
je pensais qu'avec ca + ce qu'il lit dans les web.xml, ils auraient pu se debrouiller tout seul...

n°186960
darklord
You're welcome
Posté le 31-07-2002 à 12:14:56  profilanswer
 

Tamahome a écrit a écrit :

 
 
<%@ page import="MaClasse" %>   :??:  :??:  
 
je pensais qu'avec ca + ce qu'il lit dans les web.xml, ils auraient pu se debrouiller tout seul...




 
euh ce que tu fais là c'est faire un import du genre
 
import java.util.*;
 
mais bon pour que ta servlet mette hello world dans la requete il faut faire une requete dessus, tu ne crois pas ?


---------------
Just because you feel good does not make you right
n°186961
--greg--
Posté le 31-07-2002 à 12:15:17  profilanswer
 

DarkLord a écrit a écrit :

 
Arrrghhhh  [:tapai]  
 
Et tu testes meme pas si ton requestdispatcher est null avant de forwarder !!
 
débutant !!! :)
 



et pourquoi il serait null s'il te plait !
y'a pas de raison que mon jsp disparaisse sans crier gare

n°186965
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 12:21:36  profilanswer
 

DarkLord a écrit a écrit :

 
 
euh ce que tu fais là c'est faire un import du genre
 
import java.util.*;
 
mais bon pour que ta servlet mette hello world dans la requete il faut faire une requete dessus, tu ne crois pas ?
 




 

Code :
  1. req.setAttribute("msg", "Hello World!" );
  2. RequestDispatcher d = req.getRequestDispatcher("http://localhost:8080/ev.jsp" );
  3. d.forward(req, res);


 
C'est pas le but de ca ?

n°186966
darklord
You're welcome
Posté le 31-07-2002 à 12:22:07  profilanswer
 

bon allez ca m'énerve je t'explique une fois pour toutes.
 
On va dire que toutes les servlets sont des HttpServlet pour se faciliter la vie (c'est quasi toujours le cas de toutes façons). Une servlet c'est quoi? C'est un composant qui répond à des HTTP GET ou des HTTP POST.  
 
késako ? Bin par exemple tu as un formulaire avec ton nom, ton adresse et ton email pour t'enregistrer à un machin. Lorsque tu cliques sur le boutton submit, un HTTP GET ou POST est fait sur le server a une certaine adresse.
 
Chaque servlet à une adresse qui lui est propre. Lorsqu'on fait un get sur l'adresse d'une servlet, la méthode service de la servet est invoquée. Cette méthode, qu'il ne faut pas implémenter, détermine si c'est un get ou post. Dans le premier cas elle appelle la méthode doGet de la servlet. Dans le second cas elle appelle doPost.
 
Ton problème initial est de séparer le processing de l'affichage et de mettre ca dans une JSP (c'est d'ailleurs ca qu'il faut faire). Pour séparer c'est simple. Tu fais une requete sur ta servlet (via un formulaire ou un truc du genre
 
htpp://monsite.com/mawebapp/RequestServlet?monparam=1  
 
où RequestServlet est l'adresse d'une servlet quelconque pour la webapp mawebapp
 
Bon tu recois la requete, ta servlet fais des machins (ici mettre une String Hello World dans le requete avec l'id "msg" ). une fois que tu as tout fini, la servlet ne sais pas comment ca va etre affiché chez le client et elle s'en fout. Elle forward la requete a une JSP machin chose qui est invoquée.
 
Cette JSP machin chose sait que dans la requete il y a un attribut "msg" qu'elle doit afficher en H1 et en gras. Bin elle va rechercher l'attribut et l'affiche.
 
Si demain tu dois afficer "T'as compris now", bin tu vas changer ta servlet (le business change). Si tu dois afficher en italique et plus en gras tu vas changer ta JSP (la présentation change).
 
Toi tu crois que  
 
User invoque JSP qui invoque Servlet pour pomper les infos mais c'est pas ca du tout
 
User invoque Servlet via une adresse qui fait le boulot et qui délègue la présentation du résultat. D'ailleurs qd tu regardes le code de la servlet tu vois bien qu'il fait un FORWARD sur ta JSP (donc forcément c'est lui qui appelle la JSP et pas le contraire).
 
T'as pigé maintenant ?


---------------
Just because you feel good does not make you right
n°186967
darklord
You're welcome
Posté le 31-07-2002 à 12:23:06  profilanswer
 

--greg-- a écrit a écrit :

et pourquoi il serait null s'il te plait !
y'a pas de raison que mon jsp disparaisse sans crier gare
 




 
et pq pas ... Je préfère un truc  
 
500 Internal server error - JSP machinchose is not availabe que une belle stack trace de tomcat avec un nullpointerexception. Sachant que dans le deuxième cas tu dois aller ouvrir la servlet pour voir quelle ligne a provoqué l'exception etc etc


---------------
Just because you feel good does not make you right
n°186983
--greg--
Posté le 31-07-2002 à 12:36:05  profilanswer
 

DarkLord a écrit a écrit :

 
 
et pq pas ... Je préfère un truc  
 
500 Internal server error - JSP machinchose is not availabe que une belle stack trace de tomcat avec un nullpointerexception. Sachant que dans le deuxième cas tu dois aller ouvrir la servlet pour voir quelle ligne a provoqué l'exception etc etc



bah disons que ça depend du contexte quoi :)
si on est en prod et que personne touche à l'app, y'a pas de raisons que les jsp disparaissent. (en plus dans ton jsp tu peux tjs mettre un <%error page="blah"%> )
et si on est en dev, ben j'm'en fous ;)

n°187020
Tamahome
⭐⭐⭐⭐⭐
Posté le 31-07-2002 à 13:16:36  profilanswer
 

DarkLord a écrit a écrit :

bon allez ca m'énerve je t'explique une fois pour toutes.
 
On va dire que toutes les servlets sont des HttpServlet pour se faciliter la vie (c'est quasi toujours le cas de toutes façons). Une servlet c'est quoi? C'est un composant qui répond à des HTTP GET ou des HTTP POST.  
 
késako ? Bin par exemple tu as un formulaire avec ton nom, ton adresse et ton email pour t'enregistrer à un machin. Lorsque tu cliques sur le boutton submit, un HTTP GET ou POST est fait sur le server a une certaine adresse.
 
Chaque servlet à une adresse qui lui est propre. Lorsqu'on fait un get sur l'adresse d'une servlet, la méthode service de la servet est invoquée. Cette méthode, qu'il ne faut pas implémenter, détermine si c'est un get ou post. Dans le premier cas elle appelle la méthode doGet de la servlet. Dans le second cas elle appelle doPost.
 
Ton problème initial est de séparer le processing de l'affichage et de mettre ca dans une JSP (c'est d'ailleurs ca qu'il faut faire). Pour séparer c'est simple. Tu fais une requete sur ta servlet (via un formulaire ou un truc du genre
 
htpp://monsite.com/mawebapp/RequestServlet?monparam=1  
 
où RequestServlet est l'adresse d'une servlet quelconque pour la webapp mawebapp
 
Bon tu recois la requete, ta servlet fais des machins (ici mettre une String Hello World dans le requete avec l'id "msg" ). une fois que tu as tout fini, la servlet ne sais pas comment ca va etre affiché chez le client et elle s'en fout. Elle forward la requete a une JSP machin chose qui est invoquée.
 
Cette JSP machin chose sait que dans la requete il y a un attribut "msg" qu'elle doit afficher en H1 et en gras. Bin elle va rechercher l'attribut et l'affiche.
 
Si demain tu dois afficer "T'as compris now", bin tu vas changer ta servlet (le business change). Si tu dois afficher en italique et plus en gras tu vas changer ta JSP (la présentation change).
 
Toi tu crois que  
 
User invoque JSP qui invoque Servlet pour pomper les infos mais c'est pas ca du tout
 
User invoque Servlet via une adresse qui fait le boulot et qui délègue la présentation du résultat. D'ailleurs qd tu regardes le code de la servlet tu vois bien qu'il fait un FORWARD sur ta JSP (donc forcément c'est lui qui appelle la JSP et pas le contraire).
 
T'as pigé maintenant ?




 
Si g bien tout compris, c la servlet qui appelle la jsp toute seule...Donc je lance ma servlet comme d'habitude et c'est elle, via le requestdispatcher, qui va se charger d'afficher les infos dans la jsp (et donc afficher la jsp au passage). En fait, je n'ai pas besoin d'ouvrir ma JSP dans un browser. Il faut juste que je lance ma servlet, c ca ?

n°187032
--greg--
Posté le 31-07-2002 à 13:23:51  profilanswer
 

Tamahome a écrit a écrit :

 
 
Si g bien tout compris, c la servlet qui appelle la jsp toute seule...Donc je lance ma servlet comme d'habitude et c'est elle, via le requestdispatcher, qui va se charger d'afficher les infos dans la jsp (et donc afficher la jsp au passage). En fait, je n'ai pas besoin d'ouvrir ma JSP dans un browser. Il faut juste que je lance ma servlet, c ca ?



OUI.

n°187033
darklord
You're welcome
Posté le 31-07-2002 à 13:24:13  profilanswer
 

bin en général la servlet fournit un service paramétrable donc il faut l'invoquer via un formulaire ou autre.
 
Maintenant dans ton cas tu peux effectivement l'appeler directement


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3

Aller à :
Ajouter une réponse
 

Sujets relatifs
[PHP] Conseil de script à utiliser pour une gallerie photos...Challenge : Comment utiliser une dll créée en VB avec VC++ ?
[JSP/Servlet] rafraichissement d'une image[VB] utiliser Grid32.ocx de VB5 dans VB6
[servlet/JSP] afficher des images lues par ma servlet (ou ma JSP)[Servlet/jsp] récupérer l'URI de base d'une web-app
[Jsp/Servlet] Problème lors du premier forward depuis ma servletUtiliser les fonctions ICQ sous PHP
Quel script PHP utiliser pour faire des logs/stats sur son site ?[JSP - Servlet] Maximum d'info pour créer un forum
Plus de sujets relatifs à : Utiliser une servlet dans une jsp


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