У меня есть некоторый jsp-код, который читает параметры контекста сервлета из файла web.xml. эти параметры содержат информацию о соединении с базой данных, поэтому каждый раз, когда изменяется SID, имя пользователя / пароль или имя сервера, программисту не нужно повторно кодировать; пользователь может просто изменить файл 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>
Я читал в них, используя этот раздел кода класса бобов:
String user = servletContext.getInitParameter("user");
String pass = servletContext.getInitParameter("password");
Проблема:
далее я хочу установить соединение с базой данных для получения некоторых данных:
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConnection = DriverManager.getConnection(conn_url, user, pass);
где conn_url - строка, состоящая из имени хоста (или IP-адреса) и номера порта.
Во всяком случае, dbConnection не работает:
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
несмотря на то, что я повторяю, что представляют собой значения String, и какими они должны быть.
если я пойду и скажу:
user = "guest";
pass = "1234";
присваивая их напрямую, тогда все работает нормально.
Я не понимаю. Я весь день ломал голову. Очевидно, что getConnection ищет 3 строки. Я в растерянности. Любая помощь будет оценена.