一尘不染

在Java Web应用程序中获取DataSource资源

jsp

我的context.xml文件中有以下资源标记:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/myApp">
  <Resource name="jdbc/myDS" auth="Container" 
    type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="1000"
    username="user" password="passwd"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/myDB" />
</Context>

我正在使用NetBeans中的Stripes框架开发Java Web应用程序。

如何从Java类中获取此资源?


阅读 474

收藏
2020-06-10

共1个答案

一尘不染

您需要使用知道如何处理@Resrouce注释的某种东西(一个依赖注入框架)来实例化bean 。JSP本身不知道如何。

在这种情况下,在JNDI上下文中定位数据源会更简单:

Context initContext = new InitialContext();
Context envContext  = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/myDS");
2020-06-10