我尝试连接的代码:
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>
答案 0 :(得分:0)
您没有从ServletContext
获取数据源。
如果您在struts-config.xml
中定义了数据源(请注意字母大小写,所有小写),那么在Action
内,您可以通过调用{{}来获取数据源1}}或getDataSource(HttpServletRequest request)
方法。
示例:
getDataSource(HttpServletRequest request, String key)
阅读Struts 1.x documentation,了解如何声明&amp;通过Struts检索数据源。