【问题标题】:Using web.xml to get JSTL sql dataSource?使用 web.xml 获取 JSTL sql 数据源?
【发布时间】:2016-01-29 03:47:20
【问题描述】:

尝试获取 JSTL SQL 操作的数据源,但无法连接。

在我的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 使用了相同的设计,但没有指定访问数据库的驱动程序。

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

【问题讨论】:

    标签: jsp jstl datasource web.xml


    【解决方案1】:

    使用initParam可以获取上下文参数。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-21
      • 2011-05-25
      • 1970-01-01
      • 2011-10-30
      • 2013-06-23
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多