以前写的一个程序,在这个程序中,数据库的访问是通过在 struts 中配置使用第三方数据原组件。我使用的是 apache 提供的 DBCP 数据源以下是在 struts-config.xml 中的相关配置
<data-sources>
<data-source type="org.apache.commons.dbcp.BasicDataSource" key="sql">
<set-property property="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<set-property property="url"
value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=Test" />
<set-property property="username" value="sa" />
<set-property property="password" value="test" />
</data-source>
</data-sources>
然后,我在我在 Action 中获取 Connection 的代码如下:
ServletContext context = servlet.getServletContext();
DataSource dataSource = (DataSource)context.getAttribute("sql");
Connection con = dataSource.getConnection();
以上这部分代码会抛出空指针异常:原因是 dateSource 为 null;
让人郁闷的是,我在没做系统之前用这个方法获取 Connection 一直是有效的!
并为发生过此类现象!
请高手赐教!