使用web.xml获取JSTL sql dataSource?

时间:2016-01-29 03:47:20

标签: jsp jstl datasource web.xml

尝试获取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设计而没有指定访问数据库的驱动程序。

对我的问题有任何见解?知道我的运气可能很简单。

1 个答案:

答案 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']}" />