Servlet ? probleme de mise a jour de la Servlet sur serveur [ JAVA ] - Programmation
Marsh Posté le 21-11-2001 à 11:56:18
Clarkent a écrit a écrit : La y un truc que je ne comprends. ca fonctionne pour toutes les autres Servlets, maispas pour une d'entre elle et je ne comprends pas du tout pourquoi. |
Bin cherche la différence entre cette servlet là et les autres. Au niveau config et au niveau code. Elle maintient un état?
Marsh Posté le 21-11-2001 à 19:17:00
darklord22 a écrit a écrit : Bin cherche la différence entre cette servlet là et les autres. Au niveau config et au niveau code. Elle maintient un état? |
la difference est enorme ca se joue sur des millieurs de lignes la difference .
par contre le code c est qusimentlameme chose, jene comprends pas vraiment ce qui se passe.
je peux meme virer la classe du serveur et la servlet est toujours la.
Marsh Posté le 22-11-2001 à 11:33:20
Clarkent a écrit a écrit : la difference est enorme ca se joue sur des millieurs de lignes la difference . par contre le code c est qusimentlameme chose, jene comprends pas vraiment ce qui se passe. je peux meme virer la classe du serveur et la servlet est toujours la. |
Dans ton application, va dans WEB-INF et ouvre web.xml. Regarde un peu la facon dont tes servlets sont déployées, tu trouveras peut etre la solution là bas (comme load-on-startup etc.)
A+
Marsh Posté le 22-11-2001 à 12:45:55
ok je vais regarder.
mais je connais rien de rien a ce qu il peut y avoir dedans.
merci.
Marsh Posté le 22-11-2001 à 13:36:57
bein ya pas de fichier XML .
Marsh Posté le 22-11-2001 à 13:57:16
mouarf
Tu utilises apache tomcat?
Tu as bien déployé tes servlet tu leur a donné un URL-mapping pour pouvoir les lancer non?
Tout ca est stocké dans un fichier qui s'appelle web.xml et qui est stocké dans le rep WEB-INF de ta web application. Regarde le répertoire de tomcat
<tomcat_install>\webappas\your_web_app\
Vala. Si tu veux que je regarde ton fichier de déploiement envoie le par mail.
Marsh Posté le 22-11-2001 à 19:29:17
j ai aps tout ca , j ai aps deploye totu ca non plus .
tomcat et apache c est pas de mon ressort a la base.
m enfin bon bein voila j ai aps ce fichier la et ouinnnnnnnnnnnnnnn.
merci .
Marsh Posté le 22-11-2001 à 22:39:15
Bon,
primo c'est quoi ton serveur ?
deuzio c'est quoi sa configuration ?
Parce que le tien je sais pas mais je peux te dire que certains serveurs simplistes, tant que tu ne les redémarres pas ta servlet elle est compilée, avec un nom bizarre dans un coin voire en mémoire et toutes les modifs que tu fais sur disque tu peux te les mettre quelque part
Marsh Posté le 23-11-2001 à 02:32:42
serveur apache complet avec tomcat.
ensutie le serveur est configurer pour relancer la servlet si le fichier present sur le serveur est plus rescent que la servlet qui est lancée.
apres cela fonctionne tres bien sauf pour une seule est unique servlet.
Marsh Posté le 23-11-2001 à 08:34:33
Mais enfin. Dis moi un peu:
1) Comment tu fais pour appeller tes servlets (dans ton formulaire method="POST" action="....."
2) Ca doit etre déclaré qqpart. Et sous tomcat, ca l'est ds un fichier qui s'appelle web.xml. Cherche ton dur après ce fichier. Il y en a un par web applicaiton.
Je me demande comment tu as fait pour déployer des servlets si tu ne connais pas ce mécanisme finalement ...
Marsh Posté le 23-11-2001 à 13:58:12
darklord22 a écrit a écrit : Mais enfin. Dis moi un peu: 1) Comment tu fais pour appeller tes servlets (dans ton formulaire method="POST" action="....." 2) Ca doit etre déclaré qqpart. Et sous tomcat, ca l'est ds un fichier qui s'appelle web.xml. Cherche ton dur après ce fichier. Il y en a un par web applicaiton. Je me demande comment tu as fait pour déployer des servlets si tu ne connais pas ce mécanisme finalement ... |
methode post, action= l adresse ....
y a rien d exceptionnelle.
et NON JE N AI PAS CE FICHIER WEB.XML.
je n ai acces qu a un envirronnement de developpement, pas au serveur lui meme.
y a ceux qui s occupent du reseau pour ca.
et les fichiers XML ne sont que des fichiers pour presenter les donnees ? ils ont rien avoir avec la configuration, qu ils existent ou non ca ne modifie pas l application.
pluyto les fichiers de conf qu ils faut regarder.
comment je fais ? bein c est vraiment pas tres dur , t appelles une servlet tout connement , tu prends une page HTML qui appelle la servlet avec la meme methode que celle de la servlet et hop ca roule .
mais je vois aps trop le rapport.
puis que je dis que ca ne le fait que pour une seule et unique servlet et que tout le reste passe tres bien ...
Marsh Posté le 23-11-2001 à 15:33:57
Pour ce que tu dis des fichiers XML : pas d'accord il y a bien des serveurs de servlets (excusez l'expression) qui utilisent un fichier XML pour stocker leur config. Après tout, pourquoi pas, ca permet de bien mieux structurer l'information qu'un fichier texte et c'est adaptable
Marsh Posté le 23-11-2001 à 17:22:21
MarvinLeRouge a écrit a écrit : Pour ce que tu dis des fichiers XML : pas d'accord il y a bien des serveurs de servlets (excusez l'expression) qui utilisent un fichier XML pour stocker leur config. Après tout, pourquoi pas, ca permet de bien mieux structurer l'information qu'un fichier texte et c'est adaptable |
ouais tu t es pas demande si le fichier n etait qune simple presentation du fichier de configuration ?
et non ce fichier n est absolument pas indispensable.
le XML c est juste de la presentation.
Marsh Posté le 23-11-2001 à 23:27:00
C'est pas de la présentation, c'est de la structuration d'information
Marsh Posté le 23-11-2001 à 23:42:50
Clarkent a écrit a écrit : le XML c est juste de la presentation. |
Ben non, c'est comme les .ini sous windows, ce sont aussi des fichiers de config.
Marsh Posté le 24-11-2001 à 06:02:42
bein dans le cas present il n y en a pas besoin.
MarvinLeRouge> structuration presentation pour moi c est la meme chose .
Marsh Posté le 24-11-2001 à 09:20:47
Clarkent a écrit a écrit : MarvinLeRouge> structuration presentation pour moi c est la meme chose . |
Justement, l'idée d'XML est de séparer les 2 aspects
Marsh Posté le 24-11-2001 à 15:43:47
merde alors j ai pas tout compris .
c est untruc sur lequel je me suispas penche de toutes maniere .
a part que j ai pas ce putain de fichier web.XML .
Marsh Posté le 26-11-2001 à 09:54:17
Clarkent a écrit a écrit : le XML c est juste de la presentation. |
Faux, faux et archi-faux. XML présente des données mais ne les présent en aucune manière. XML tout seul n'est rien du tout!
Marsh Posté le 26-11-2001 à 10:00:06
darklord22 a écrit a écrit : Faux, faux et archi-faux. XML présente des données mais ne les présent en aucune manière. XML tout seul n'est rien du tout! |
Hi hi. Je voulais dire déclare les données
Pfff ca c'est qd on s'énerve ...
Marsh Posté le 26-11-2001 à 19:42:59
darklord22 a écrit a écrit : Hi hi. Je voulais dire déclare les données Pfff ca c'est qd on s'énerve ... |
bien ce que je dis XML tout seul ne sert a rien du tout.
et c est pas XML le plus important.
on peut meme s en passer d ailleur.
je m y connais pas la dedans comme je la idis plus haut, mais suffisament pour dire que ce fichier web.XML n'est pas du totu important dans le fonctionnement de tomcat.
Marsh Posté le 27-11-2001 à 19:31:18
Clarkent a écrit a écrit : je m y connais pas la dedans comme je la idis plus haut, mais suffisament pour dire que ce fichier web.XML n'est pas du totu important dans le fonctionnement de tomcat. |
Ah ah ah ah ah ah ah
Non c'est vrai qu'il ne sert à rien. C'est pour ca que c'est là qu'on déclare les servlets, les url-mapping, les init param, les context param.
C'est parce qu'il sert à rien ...
A ce stade, es tu sur d'utiliser tomcat ? Parce que j'ai un doute sérieux là
Marsh Posté le 27-11-2001 à 21:11:24
Clarkent > C'est pas que j'ai l'impression de me répéter mais :
Citation : il y a bien des serveurs de servlets (excusez l'expression) qui utilisent un fichier XML pour stocker leur config. Après tout, pourquoi pas, ca permet de bien mieux structurer l'information |
Marsh Posté le 27-11-2001 à 22:42:04
ok ok ca sert, m enfin maintenant faudrait me dire pourquoi ca fonctionne sans ?
a quoi sert un fichier de conf ?
quand jaurais ces reponses ...
le cas de la servlet faisant chier etant un cas isoler et a part...
maintenant je ne comprends pas que des mecs s occupant de ca tous les jours faisant des install de tomcat regulierement ou d autres install specialise en reseau ont homis de mettre ce putain de fichier ....
maintenant ci ca marche sans et que c est super utile dites moi pouquoi puisque c est si evident ...
Marsh Posté le 27-11-2001 à 22:46:46
MarvinLeRouge a écrit a écrit : Clarkent > C'est pas que j'ai l'impression de me répéter mais :
|
il y a bien ... ok, maintenantje parle de mon tomcat a moi la .
mais bon j ai pose un probleme la solution ne vient pas du tout de la conf de tomcat; il ne vient aps du fichier xml inexistant pour linstant a moins qu il ne soit planque ce dont je doute tres fortement.
pourquoi cette putain de servlet decide de ne pas se relancer ???
Marsh Posté le 27-11-2001 à 22:51:50
ReplyMarsh Posté le 28-11-2001 à 01:02:52
ok je vais lire.
mais ce qui est genial c est que en gros je suis en train de me taper le boulot du mec qui a configurer le tout ...
Marsh Posté le 28-11-2001 à 01:06:35
de toute maniere il y aunpb avec une servlet, ce pb ne vien pas e la configuration, j ai comme qui dirait un peutester le truc , mais jene vois toujours pas de quoi ca vient et apparament vous non plus.
Marsh Posté le 28-11-2001 à 08:38:14
Clarkent a écrit a écrit : il y a bien ... ok, maintenantje parle de mon tomcat a moi la . mais bon j ai pose un probleme la solution ne vient pas du tout de la conf de tomcat; il ne vient aps du fichier xml inexistant pour linstant a moins qu il ne soit planque ce dont je doute tres fortement. pourquoi cette putain de servlet decide de ne pas se relancer ??? |
Bon bon bon
Donne moi un peu un exemple de formulaire HTML qui appelle un de tes servlets, du genre
<form .... method=POST action="...............">
..</form>
C'est le champ action. Juste pour voir comment le mapping se fait.
Ensuite fait une recherche de fichier xml sur ton dur (tous si tu en as plusieurs). Je ne connais aucune version officielle de tomcat qui fonctionne sans fichier XML.
A+
Marsh Posté le 28-11-2001 à 08:54:15
Tiens si tu veux un exemple de web.xml
très très simple ...
<code>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>toAddress</param-name>
<param-value>info@mycompany.com</param-value>
</context-param>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.devoteam.LoginServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>SendMailServlet</servlet-name>
<servlet-class>com.devoteam.SendMailServlet</servlet-class>
<init-param>
<param-name>mailServer</param-name>
<param-value>relay.belgacom.net</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SendMailServlet</servlet-name>
<url-pattern>/sendmail</url-pattern>
</servlet-mapping>
<error-page>
<error-code>404</error-code>
<location>/error/404.html</location>
</error-page>
</web-app>
</code>
Marsh Posté le 28-11-2001 à 18:04:15
darklord22 a écrit a écrit : Bon bon bon Donne moi un peu un exemple de formulaire HTML qui appelle un de tes servlets, du genre <form .... method=POST action="..............."> ..</form> C'est le champ action. Juste pour voir comment le mapping se fait. Ensuite fait une recherche de fichier xml sur ton dur (tous si tu en as plusieurs). Je ne connais aucune version officielle de tomcat qui fonctionne sans fichier XML. A+ |
bein en ce qui concene le form methode post etc... c est ca.
apres le serveur ne st pas sur mon dur .
et je ne peux plus faire de recherche dessus, car je suis encore etudiant en alternance , et la je suis en fac.
mais bon il faut savoir que cette fameuse servlet fonctionnait tres bien il ya peu, et qu apres quelques modifs ca a fait ce qui se passe maintenant mais je ne sais quel modif a pu provoquer ce changement, et je doute que ce soit celle ci, j ai juste fait un compareto a la place d un equalsignorecase dans un testes et je vois pas en quoi ca altererait son renouvellement .
en admettant que la servlet soit trop grande en taille ? 8000 9000 voir plus de ligne de code et que je sois a la limite de ce que jbuilder puisse accepter, ca pourrait creer des pb au niveau de la compilation et de la bonne execution de celle ci ?
Marsh Posté le 29-11-2001 à 09:36:33
Clarkent a écrit a écrit : bein en ce qui concene le form methode post etc... c est ca. apres le serveur ne st pas sur mon dur . et je ne peux plus faire de recherche dessus, car je suis encore etudiant en alternance , et la je suis en fac. mais bon il faut savoir que cette fameuse servlet fonctionnait tres bien il ya peu, et qu apres quelques modifs ca a fait ce qui se passe maintenant mais je ne sais quel modif a pu provoquer ce changement, et je doute que ce soit celle ci, j ai juste fait un compareto a la place d un equalsignorecase dans un testes et je vois pas en quoi ca altererait son renouvellement . en admettant que la servlet soit trop grande en taille ? 8000 9000 voir plus de ligne de code et que je sois a la limite de ce que jbuilder puisse accepter, ca pourrait creer des pb au niveau de la compilation et de la bonne execution de celle ci ? |
Mais enfin Je te demande quelle est la valeur de ton champ action C'est pas vrai ca!!!
Maintenant que tomcat est sur un serveur distant, je comprends mieux. J'imagine mal comment tu peux administrer un serveur applicatifs si tu ne peux meme pas faire un minimum de choses dessus ...
Pour ton histoire de ligne, rien à voir
A+
Marsh Posté le 29-11-2001 à 16:18:29
darklord22 a écrit a écrit : Mais enfin Je te demande quelle est la valeur de ton champ action C'est pas vrai ca!!! Maintenant que tomcat est sur un serveur distant, je comprends mieux. J'imagine mal comment tu peux administrer un serveur applicatifs si tu ne peux meme pas faire un minimum de choses dessus ... Pour ton histoire de ligne, rien à voir A+ |
j ai pas a y toucher au serveur normalement il fonctionne tres bien.
action='http://serv............laservlet.servlet'
c est quelque chose comme ca.
Marsh Posté le 29-11-2001 à 16:55:41
Clarkent a écrit a écrit : j ai pas a y toucher au serveur normalement il fonctionne tres bien. action='http://serv............laservlet.servlet' c est quelque chose comme ca. |
Tu fais du class loading. C'est peut etre pour ca que ton fichier XML est non présent. Class loading, tu peux accéder à une servlet via un truc du genre
monserveur.com/com.masociete.MaServlet
où ta servlet est définie dans le package com.masociete
Mais bon ca n'explique pas pq elle ne se reload pas. Si j'étais toi, je ferai un url-mapping mais bon ...
A+
Marsh Posté le 29-11-2001 à 17:48:59
darklord22 a écrit a écrit : Tu fais du class loading. C'est peut etre pour ca que ton fichier XML est non présent. Class loading, tu peux accéder à une servlet via un truc du genre monserveur.com/com.masociete.MaServlet où ta servlet est définie dans le package com.masociete Mais bon ca n'explique pas pq elle ne se reload pas. Si j'étais toi, je ferai un url-mapping mais bon ... A+ |
tu peux m expliquer ce qu est unurl mapping ?
merci.
Marsh Posté le 30-11-2001 à 09:35:07
Clarkent a écrit a écrit : tu peux m expliquer ce qu est unurl mapping ? merci. |
Bien sur
Un url-mapping dans ce cas de figure est une URI relative au contexte qui te permet d'invoquer une servlet, une sorte d'alias quoi. Si on reprend mon fichier XML de l'autre fois :
Code :
|
Tu vois que je déclare une servlet que j'identifie par LoginServlet. Ensuite je fais un URL Mapping de cet ID sur /login
Si par exemple le contexte de mon application est /webapps/test et bien en faisant:
>form name="toto" method="POST" action="/webapps/test/login">
je vais appeler ma servlet. Je sais que sous WebSphere il y a des limitations en utilisant des servlets en class loading donc ca peut etre ca la source. Quoi que si ca marchait avant et surtout pour les autres ...
Tu es renseigné mais je ne sais pas si ca t'aidera.
A+
Marsh Posté le 30-11-2001 à 21:25:01
darklord22 a écrit a écrit : Bien sur Un url-mapping dans ce cas de figure est une URI relative au contexte qui te permet d'invoquer une servlet, une sorte d'alias quoi. Si on reprend mon fichier XML de l'autre fois :
|
okje vois tres bien.
j utilise pas websphere sinon.
pour ce qui es de la servlet qui fonctionne pas j ai foutu le code dans une autre servlet donc package et non de la servlet different et ca fait le meme bordel.
pour l url mapping c est cool ca pour l utilisateur merci .
Marsh Posté le 30-11-2001 à 22:32:18
Clarkent a écrit a écrit : okje vois tres bien. j utilise pas websphere sinon. pour ce qui es de la servlet qui fonctionne pas j ai foutu le code dans une autre servlet donc package et non de la servlet different et ca fait le meme bordel. pour l url mapping c est cool ca pour l utilisateur merci . |
No problem, si tu veux d'autres renseignements, n'hésite pas.
A+
Marsh Posté le 21-11-2001 à 11:36:02
La y un truc que je ne comprends.
j ai une Servlet, qui fonctionne pourant, mai qui decide de ne pas se mettre ajours si je change le .class, le serveur est pourtant configurer pour relancer la Servlet si le .class sur le serveur est plus rescent que celui qui est actuellement lancé.
ca fonctionne pour toutes les autres Servlets, maispas pour une d'entre elle et je ne comprends pas du tout pourquoi.
alors si vous avez un debut de soluce ca serait sympa, car eteindre allumer tout tomcat c est un peu .... .
merci .
---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".