尝试获取JSTL SQL操作的dataSource,但不会连接。
在我的web.xml
:
<context-param>
<param-name>databaseJNDI</param-name>
<param-value>jdbc/testDS</param-value>
</context-param>
我在JSP文件中尝试的内容:
<sql:setDataSource dataSource = "jdbc/testDS"/>
我正在尝试执行此操作并失败,以避免将数据库凭据硬编码到页面中。数据库正在运行,但我现在还不了解JSTL自己解决这个问题。
它抱怨驱动程序,但是我使用了相同的servlet设计而没有指定访问数据库的驱动程序。
对我的问题有任何见解?知道我的运气可能很简单。
答案 0 :(得分:0)
使用initParam
可以获取上下文参数。
在context-params
中为数据库连接属性创建web.xml
:
<context-param>
<param-name>driverClass</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
<context-param>
<param-name>connectionURL</param-name>
<param-value>jdbc:mysql://localhost/dbname</param-value>
</context-param>
<context-param>
<param-name>username</param-name>
<param-value>foo</param-value>
</context-param>
<context-param>
<param-name>password</param-name>
<param-value>bar</param-value>
</context-param>
在JSP中使用
<sql:setDataSource var="dataSource"
driver="${initParam['driverClass']}"
url="${initParam['connectionURL']}"
user="${initParam['username']}"
password="${initParam['password']}" />