试图获取用于JSTL SQL操作的数据源,但它不会连接。
在我的web.xml:
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使用了相同的设计,但没有指定驱动程序来访问数据库。
对我的问题有任何见解吗?知道我的运气,这可能很简单。
使用initParam您可以获得上下文参数。
initParam
创建context-params在web.xml数据库连接属性:
context-params
<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']}" />