无法在struts 1.3.10中使用DataSource

时间:2011-03-24 10:20:55

标签: java struts

我尝试连接的代码:

DataSource ds = (DataSource)servlet.getServletContext().getAttribute("dbSource");
 System.out.println("ds1 : "+ds);
            try
            {
             Connection conn = (Connection) ds.getConnection();
             target=login(userName, password,request,conn);
            } 
            catch (SQLException e) 
        {
        // TODO Auto-generated catch block
            e.printStackTrace();
        }

来自Struts-Config.xml的<data-source>

<data-source type="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" key="dbSource" >
            <set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
            <set-property property="url" value="jdbc:mysql://192.168.10.57:3306/stocks" />
            <set-property property="user" value="admin" />
            <set-property property="password" value="admin" />
            <set-property property="defaultAutoCommit" value="true" />
            <set-property property="defaultReadOnly" value="false" />
            <set-property property="maxActive" value="10" />
            <set-property property="maxWait" value="5000" />
</data-source>

1 个答案:

答案 0 :(得分:0)

您没有从ServletContext获取数据源。

如果您在struts-config.xml中定义了数据源(请注意字母大小写,所有小写),那么在Action内,您可以通过调用{{}来获取数据源1}}或getDataSource(HttpServletRequest request)方法。

示例:

getDataSource(HttpServletRequest request, String key)

阅读Struts 1.x documentation,了解如何声明&amp;通过Struts检索数据源。