我有一些从 web.xml 文件中读取 Servlet 上下文参数的 jsp 代码。这些参数保存数据库连接信息,因此每次 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>
我使用这部分 bean 类代码阅读了这些内容:
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
即使我回显出字符串值是什么,它们应该是什么。
如果我去说:
user = "guest";
pass = "1234";
直接分配它们然后它工作正常。
我不明白。我整天脑袋嗡嗡作响。显然 getConnection 寻找 3 个字符串。我很茫然。任何帮助,将不胜感激。