Struts配置(一)

发表于:2007-07-01来源:作者:点击数: 标签:
struts-config是Struts配置文件的根元素,和它对应的配置类为org.apache.struts.config.ModuleConfig。它的D TD 定义如下:!ELEMENT struts-config(data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-re
 <struts-config>是Struts配置文件的根元素,和它对应的配置类为org.apache.struts.config.ModuleConfig。它的DTD定义如下:<!ELEMENT struts-config(data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-resources*,plugin-in*)。在Struts配置文件中,必须按以上DTD指定的先后顺序来配置<struts-config>元素的各个子元素。

一、<data-sources>元素:  <data-sources>可包括多个<data-source>元素,<data-source>元素配置形式如下:

  <data-source type="org.apache.commons.dbcp.BasicDataSource"> <set-property property="autoCommit" value="true"/>

<set-property property="driverClass" value="......"/>

<set-property property="url" value="......"/>

<set-property property="maxCount" value="10"/>

<set-property property="minCount" value="2"/>

<set-property property="user" value="....."/>

<set-property property="password" value="......"/>

</data-source>

配置了数据源后,可以通过以下代码访问数据源:

public ActionForward
execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
javax.sql.DataSource dataSource;
java.sql.Connection myConnection;
try {
  dataSource = getDataSource(request);
  myConnection = dataSource.getConnection();
  // do what you wish with myConnection
} catch (SQLException sqle) {
  getServlet().log("Connection.process", sqle);
} finally {
  //enclose this in a finally block to make
  //sure the connection is closed
  try {
myConnection.close();
  } catch (SQLException e) {
getServlet().log("Connection.close", e);
  }
}
}

当在配置文件中声明多个数据源时,此时需要为每一个数据源分配一个唯一的key 值,通过该值来访问特定的数据源。例如:

data-sources>
<data-source key="A" type="org.apache.commons.dbcp.BasicDataSource">
  ... properties as before ...
</data-source>
<data-source key="B" type="org.apache.commons.dbcp.BasicDataSource">
  ... properties as before ...
</data-source>
...
</data-sources>

此时可通过如下代码访问数据源:
dataSourceA = getDataSource(request, "A");
  dataSourceB = getDataSource(request, "B");

原文转自:http://www.ltesting.net