DataSource [tomcat5] - Java - Programmation
Marsh Posté le 12-03-2004 à 11:28:09
Tu dois modifier ton fichier web.xml pour y déclarer ton objet datasource. (cf How To de Tomcat). Dans ton code de JSP, tu appelles la datasource javatest alors qu'elle n'est déclarée nulle part.
C'est pas un truc que je masterise mais il faut globalement:
1. Déclarer la datasource via JNDI dans le fichier web.xml
2. T'assurer que ton driver JDBC est dans ton classpath
3. Appeler ta datasource dans ta JSP comme tu le fais en t'assurant que le nom JNDI que tu lui as affecté est correct. je suis pas sûr que javatest soit correct mais je peux me tromper
Marsh Posté le 12-03-2004 à 11:31:41
Salut,
entre temps, j'ai ajouté ca à mon web.xml
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Mais je en suis pas sur du dernier parametre.
Sans utiliser ce pool de connexion (en déclarant ma connexion dans mon fichier jsp), mes requetes fonctionnent bien.
Pour la syntaxe,javatest, c'est ce que j'ai lu mais je ne suis pas sur aussi.
Merci pour vos précisions.
++
Marsh Posté le 12-03-2004 à 11:56:05
D'après la doc de Tomcat, dans ton fichier server.xml tu dois ajouter un code semblable à celui-là:
Code :
|
Car avec ta balise <resource-ref>, tu déclares que tu vas utiliser une datasource référencée sous le nom jdbc/test mais le paramétrage de cette datasource se fait dans le fichier server.xml
Marsh Posté le 12-03-2004 à 12:33:05
machinbidule1974 a écrit : D'après la doc de Tomcat, dans ton fichier server.xml tu dois ajouter un code semblable à celui-là:
|
En utilisant l'interface d'admin de tomcat, le fichier server.xml se configure automatiquement et voici le miens (enfin, une partie...)
Citation : <ResourceParams name="conn1"> |
Voilà, j'espère que ces infos pourront vous aider à m'aider.
Merci
++
Marsh Posté le 12-03-2004 à 12:43:58
Essaie avec la combinaison de fichiers suivante:
Code :
|
Code :
|
Marsh Posté le 12-03-2004 à 13:21:49
j'en ai vraiment marre !!! je désespère !!!
J'ai exactement mis ce que tu m'as donné avec en plus dans mon fichier jsp :
[quote][<sql:connection id="conn1">
<sql:jndiName>javaconn1</sql:jndiName>
</sql:connection>/quote]
et comme ca ne marchait pas :
[quote][<sql:connection id="conn1">
<sql:jndiName>javatest</sql:jndiName>
</sql:connection>/quote]
Je en sais vraiment plus quoi faire
++
Marsh Posté le 12-03-2004 à 14:09:19
est-ce-que tu peux me poster tes fichiers web.xml et server.xml ainsi que le code de ta JSP ?
Marsh Posté le 12-03-2004 à 14:16:31
salut et merci,
Voilà le web.xml
Citation : <?xml version="1.0" encoding="ISO-8859-1"?> |
Voilà le fichier jsp
Citation : <%@ taglib uri="http://jakarta.apache.org/taglibs/dbtags" prefix="sql" %> |
et voici le server.xml
Citation : |
Il n'est pas en entier car trop trop grand !
Merci encore
++
Marsh Posté le 12-03-2004 à 14:37:19
L'erreur générée avec ces fichiers c'est bien "javax.servlet.ServletException: javax.naming.NameNotFoundException: Le Nom conn1 n'est pas lié à ce Contexte" ?
Marsh Posté le 12-03-2004 à 14:51:00
Est-ce-que ton fichier server.xml contient bien une ligne comme ceci:
<Resource name="conn1" auth="Container"
type="javax.sql.DataSource"/>
avant <ResourceParams name="conn1">
...
?
Marsh Posté le 12-03-2004 à 15:21:31
Ben je vois pas Tout semble correct. Suggestion stupide mais si tu remplaces "conn1" par un truc du type "jdbc/conn1" (partout) ? T'as aucune erreur dans la log de ton serveur Tomcat au lancement ?
Marsh Posté le 15-03-2004 à 11:21:24
Dans ton server.xml, as tu réellement une entrée nommée "Context" ?
Ensuite, assures toi que ton driver JDBC est bien présent dans le répertoire $TOMCAT_HOME/common/lib.
Tomcat est assez capricieux avec les DataSources :-)
Marsh Posté le 15-03-2004 à 12:35:13
salut,
dans ma balise context, je n'ai pas d'attribut, en faut-il ?
Merci
++
Marsh Posté le 15-03-2004 à 16:57:27
oui regarde du coté de la fac tomcat
dans google : jakarta howto datasource
ils te donnent un exemple de la modification de server.xml et web.Xml
perso j'ai laché l'affaire pour l'instant sous tomcat 5 mais sous tomcat 4.1 ca fonctionne
Marsh Posté le 16-03-2004 à 14:00:21
Oui, il faut que ta balise contexte soit remplie.
Elle doit contenir des infos globales relatives à ta web-app, et à l'intérieur, tu y inclues toutes les informations concernant ta datasource.
-- Mike
Marsh Posté le 12-03-2004 à 10:54:29
Bonjour,
J'ai crée une datasource (avec test comme jndiname )depuis la page d'admin de tomcat.
Je voudrais l'utiliser avec la lib dbutils mais j'ai un message d'erreur :
exception
javax.servlet.ServletException: javax.naming.NameNotFoundException: Le Nom test n'est pas lié à ce Contexte
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.index_jsp._jspService(index_jsp.java:206)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
cause mère
javax.servlet.jsp.JspTagException: javax.naming.NameNotFoundException: Le Nom test n'est pas lié à ce Contexte
org.apache.taglibs.dbtags.connection.ConnectionTag.doEndTag(ConnectionTag.java:167)
org.apache.jsp.index_jsp._jspService(index_jsp.java:110)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
et voici mon code de connexion dans mon fichier jsp:
<sql:connection id="conn1">
<sql:jndiName>javatest</sql:jndiName>
</sql:connection>
Est ce qu'il faut aussi modifier mon web.xml ? Faut-il encore ajouter des lib pour utiliser ma datasource ?
Merci pour votre aide.
++