Ich habe einige JSP-Code, der Servlet Context-Parameter aus einer web.xml-Datei liest. Diese Parameter enthalten Datenbankverbindungsinformationen, so dass der Programmierer nicht jedes Mal neu codieren muss, wenn sich die SID oder der Benutzer/das Kennwort oder der Servername ändert. Der Benutzer kann nur die Datei web.xml ändern.Problem mit dbConnection, Lesen in Kontext-Parameter von web.xml
<context-param>
<description>database user name</description>
<param-name>user</param-name>
<param-value>guest</param-value>
</context-param>
<context-param>
<description>database password</description>
<param-name>password</param-name>
<param-value>1234</param-value>
</context-param>
ich in diesen lesen Sie diesen Abschnitt der Bean-Klasse Code verwendet:
String user = servletContext.getInitParameter("user");
String pass = servletContext.getInitParameter("password");
Das Problem:
nächstes möchte ich die Datenbankverbindung tun einige Daten abzurufen:
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConnection = DriverManager.getConnection(conn_url, user, pass);
Dabei war conn_url eine Zeichenfolge bestehend aus Hostname (oder IP-Adresse) und der Portnummer.
Auf jeden Fall die dbConnection versagt:
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
obwohl ich Echo, was die String-Werte sind und sie sind, was sie sein sollten.
wenn ich gehen und zu sagen:
user = "guest";
pass = "1234";
sie die Zuordnung direkt dann funktioniert es gut.
Ich verstehe es nicht. Ich habe den ganzen Tag mit meinem Gehirn rasseln. Offensichtlich sucht die getConnection nach 3 Strings. Ich bin ratlos. Jede Hilfe wäre willkommen.
Haben Sie die Anmeldedaten mit anderer Software verifiziert? – skaffman
Auch würde ich vorschlagen, dies ist keine gute Möglichkeit, Datenbankkonfiguration zu behandeln. Das Öffnen von Oracle-Verbindungen ist langsam und teuer, Sie sollten wirklich einen richtigen Verbindungspool verwenden. Ihr Servlet-Container hat einen, und der Benutzer/Deployer kann die Details ändern, ohne mit den Interna Ihrer web.xml zu interagieren. – skaffman