日期:2014-05-20  浏览次数:20845 次

改变数据连接
类1 ActionServlet 
public class ActionServlet extends ActionServlet
{  
 public void init()
  throws ServletException
  {
  DataSource ds = (DataSource)dataSources.get("org.apache.struts.action.DATA_SOURCE");  
  log.debug("get datasource class name: " + ds.getClass().getName());
  DBPool.setDataSource(ds);  
  Connection cnt = DBPool.getConnection(getClass().getName());
  }
}

类2 DBPool
public class DBPool
{
  public static void setDataSources(HashMap dss)
  {
  dataSources = dss;
  }

  public static Connection getConnection(String className)
  {
 
  Connection conn = null;
  if(dataSource != null)
  try
  {
  conn = dataSource.getConnection();  
  }
  catch(SQLException e)
  {
  log.debug("", e);  
  }
  else
  log.debug("dataSource is null!");
   
  if(conn != null)
  client.put(conn, new Entry(className));
  else
  dump();  
  return conn;
  }
}

取得一个连接conn
Connection conn = DBPool.getConnection(CacheUsers.class.getName());

现在我想改变,对不同的数据进行操作,在struts-config.xml改了
<data-sources>
 <data-source type="org.apache.commons.dbcp.BasicDataSource">
  <set-property
  property="driverClassName"
  value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
  <set-property
  property="url"
  value="jdbc:microsoft:sqlserver://localhost:1433;databasename=deoa" />
  <set-property
  property="username"
  value="sa" />
  <set-property
  property="password"
  value="123" />
  <set-property
  property="maxActive"
  value="100" />
  <set-property
  property="maxWait"
  value="5000" />
  <set-property
  property="defaultAutoCommit"
  value="true" />
  <set-property
  property="defaultReadOnly"
  value="false" />
  <set-property
  property="validationQuery"
  value="SELECT COUNT(*) FROM tb_popedom" />
 </data-source>
</data-sources>


但还是不能改变对数据连接,原来是mysql 现在想改为mssql ,但它还是连得原来的mysql去,请问还有可能是在哪里改可以连到mssql 的?


------解决方案--------------------
改后有没有deploy或build一下。

或者看一下有没有这个文件 "工程名-struts-config.xml".
------解决方案--------------------
修改后最好重新部署下!看看