Hopelijk heeft er iemand hier meer verstand van JNDI, Apache Tomcat en Java dan ik, want ik kom er niet uit. Volgens alles documentatie op de Tomcat site en andere pagina's die ik heb opgezocht met google zou het moeten werken.... maar ik snap er niets meer van, vandaar dat ik hier kom voor de hulp.
allereerst hier de relevante code:
Server.xm van Tomcat
web.xml van de applicatie
en de Java code uit de betreffende DB Connection Manager class
Het probleem is dat ik op mijn betreffende JSP pagina de foutmelding krijg:
Name JDBC is not bound in this context
Echter is bovenstaande code toch de code volgens de conventies en in de juiste bestanden zou ik zeggen, maar blijkbaar toch niet want..... 'hij doet het nieeeeet'... Volgens mij heb ik geen tikfouten gemaakt, maar wie weet ziet een frisse geest die in een oogopslag...
Iemand zin in dit probleem? Ik blijf zelf ook zoeken, maar ik denk dat ik het hele internet al 2x gehad heb!
allereerst hier de relevante code:
Server.xm van Tomcat
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| <Context path="/cs" docBase="cs" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/jsk" auth="Container" type="javax.sql.DataSource" /> <ResourceParams name="jdbc/jsk"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>driverClassName</name> <value>com.sybase.jdbc2.jdbc.SybDriver</value> </parameter> <parameter> <name>driverName</name> <value>jdbc:sybase:Tds:localhost:2638/jsk</value> </parameter> <parameter> <name>url</name> <value>jdbc:sybase:Tds:localhost:2638/jsk</value> </parameter> <parameter> <name>username</name> <value>csuser</value> </parameter> <parameter> <name>password</name> <value>csuser</value> </parameter> <parameter> <name>maxActive</name> <value>20</value> </parameter> <parameter> <name>maxIdle</name> <value>10</value> </parameter> <parameter> <name>maxWait</name> <value>-1</value> </parameter> </ResourceParams> </Context> |
web.xml van de applicatie
code:
1
2
3
4
5
6
7
8
9
| <web-app>
<description>AssemblerApp</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/jsk</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app> |
en de Java code uit de betreffende DB Connection Manager class
code:
1
2
3
4
5
6
7
8
9
| public Connection getConnection() throws Exception
{
InitialContext ctx = new InitialContext();
ConnectionPoolDataSource cpds = (ConnectionPoolDataSource)ctx.lookup("java:comp/env/jdbc/jsk");
PooledConnection pc = cpds.getPooledConnection();
Connection conn = pc.getConnection();
return conn;
} |
Het probleem is dat ik op mijn betreffende JSP pagina de foutmelding krijg:
Name JDBC is not bound in this context
Echter is bovenstaande code toch de code volgens de conventies en in de juiste bestanden zou ik zeggen, maar blijkbaar toch niet want..... 'hij doet het nieeeeet'... Volgens mij heb ik geen tikfouten gemaakt, maar wie weet ziet een frisse geest die in een oogopslag...
Iemand zin in dit probleem? Ik blijf zelf ook zoeken, maar ik denk dat ik het hele internet al 2x gehad heb!