Bonjour,
J'aurai besoin de sortir les paramètres de connexion à la base de données Oracle du .war afin d'effectuer le déploiement de l'application web-java.
J'ai donc dans le répetoire webapps de tomcat avec le .war et le fichier .xml portant le même nom que le .war afin qu'il soit reconnu automatiquement.
dans mon .war le fichier web.xml ressemble à cela:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<?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>
<servlet>
<servlet-name>controleur</servlet-name>
<servlet-class>Controleur</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controleur</servlet-name>
<url-pattern>/controleur</url-pattern>
</servlet-mapping
<resource-ref>
<description>StatportUtilities2 Datasource</description>
<res-ref-name>jdbc/statportUtilities2</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app> |
Dans le fichier .xml à l'extérieur du .war, j'ai donc mes infos de connexion à la BD et ça ressemble à cela:
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
|
<Context path="/statportUtilities2" reloadable="true" displayName="statportUtilities2" docBase="statportUtilities2">
<Resource name="jdbc/statportUtilities2" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/statportUtilities2">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<value>****</value>
</parameter>
<parameter>
<name>pwd</name>
<value>****</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>adresse</name>
<value>****</value>
</parameter>
</ResourceParams>
</Context> |
Et dans mon fichier .java qui se trouve bien évidemment dans le .war où je demande la connexion à la BD pour effectuer les diverses actions, j'ai ceci:
1 2 3 4
|
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/statportUtilities2");
cnx = ds.getConnection(); |
Le .jar pour oracle -> classe12.jar se trouve bien dans le WEB-INF/lib du .war et il était bien pris en compte quand mes pramètres de connexion était en interne car j'arrivais à effectuer les diverses actions sur la BD.
Quand je démarre Tomcat, tout se passe normalement mais dès que j'essaye d'effectuer une action sur la BD, j'ai ce message:
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for connect URL 'null'
Donc je vous avouerai que depuis hier lundi, je tourne en rond maintenant :s
J'espère que vous pourriez m'aider.
Merci d'avance,
edit: Je viens de m'apercevoir que peut être que ce sujt serait mieux dans tomcat mais malheureusement je ne peux déplacer le sujet mais il me semble que les admins peuvent le faire, donc...
Partager