`
wuzijingaip
  • 浏览: 331737 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

struts 数据源(连接池)

阅读更多
一。struts-config.xml加入{
 <!-- ============ Data Source Start ================== -->
<data-sources>
  <data-source key="org.apache.struts.action.DATA_SOURCE"
   type="org.apache.commons.dbcp.BasicDataSource">
   <set-property property="autoCommit" value="true" />
   <set-property property="description"  value="mysql Data Source" />
   <set-property property="driverClassName"
    value="com.mysql.jdbc.Driver" />
   <set-property property="maxCount" value="10" />
   <set-property property="minCount" value="2" />
   <set-property property="username" value="root" />
   <set-property property="password" value="1234" />
   <set-property property="url"
    value="jdbc:mysql://127.0.0.1:3306/test" />
  </data-source>
</data-sources>
<!-- ============ Data Source End ================== -->

二。新建
package com.xxx.db;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;
public class DBConn implements PlugIn {
private static DataSource dataSource = null;
private Connection conn = null;
private PreparedStatement preStmt = null;
private Statement stmt = null;
// 得到数据源
public void init(ActionServlet servlet, ModuleConfig config) {
  dataSource = (DataSource) servlet.getServletContext().getAttribute(
    "org.apache.struts.action.DATA_SOURCE");
}
public DBConn() throws SQLException {
  if (dataSource != null) {
   conn = dataSource.getConnection();
  }
}
public ResultSet executeQuery(String sql) {
  ResultSet rs = null;
  try {
   if (stmt == null) {
    stmt = conn.createStatement();
   }
   rs = stmt.executeQuery(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return rs;
}
public void executeUpdate(String sql) throws SQLException {
  if (stmt == null) {
   stmt = conn.createStatement();
  }
  stmt.executeUpdate(sql);
}
public Connection getConnection() {
  return conn;
}
public void prepareStatement(String sqlStr) throws SQLException {
  preStmt = conn.prepareStatement(sqlStr);
}
public void setString(int index, String value) throws SQLException {
  preStmt.setString(index, value);
}
public void setInt(int index, int value) throws SQLException {
  preStmt.setInt(index, value);
}
public void setBoolean(int index, boolean value) throws SQLException {
  preStmt.setBoolean(index, value);
}
public void setLong(int index, long value) throws SQLException {
  preStmt.setLong(index, value);
}
public void setFloat(int index, float value) throws SQLException {
  preStmt.setFloat(index, value);
}
public void setBytes(int index, byte[] value) throws SQLException {
  preStmt.setBytes(index, value);
}
public void clearPreStmt() throws SQLException {
  preStmt.clearParameters();
  preStmt = null;
}
public ResultSet executeQuery() throws SQLException {
  if (preStmt != null) {
   return preStmt.executeQuery();
  } else {
   return null;
  }
}
public void executeUpdate() throws SQLException {
  if (preStmt != null) {
   preStmt.executeUpdate();
  }
}
public void close() {
  try {
   if (stmt != null) {
    stmt.close();
    stmt = null;
   }
   if (preStmt != null) {
    preStmt.close();
    preStmt = null;
   }
   if (conn != null) {
    conn.close();
    conn = null;
    System.out.println("**** a connection is closed ****");
   }
  } catch (Exception e) {
   System.err.println(e.getMessage());
  }
}
public void destroy() {
}
}

三。重新到struts-config.xml
在<struts-config>标签内的最下一行加入{
<plug-in className="com.xxx.db.DBConn"></plug-in>

添加插件的目的是:任何文件中都可以用到此数据源
四,使用
   Connection con =  new DBConn().getConnection();

//在Action 内测试,其它没试

参考:http://www.blogjava.net/biiau/archive/2008/04/16/193513.html
分享到:
评论

相关推荐

    Struts数据源连接和国际化

    #### 二、Struts数据源连接的具体步骤 1. **创建数据源**:在`struts-config.xml`文件中定义数据源。 ```xml type="org.apache.commons.dbcp.BasicDataSource"&gt; ;databaseName=testTemp"/&gt; ``` 这里...

    struts 数据源配置

    `org.apache.commons.dbcp.BasicDataSource`是Apache Commons DBCP包提供的一个简单易用的数据源实现,它支持连接池功能,可以显著提高系统性能。下面是具体的配置步骤: 1. **添加依赖**:首先需要在项目的构建...

    数据源和连接池

    ### 数据源和连接池知识点详解 #### 一、概述 在现代Web开发中,数据库连接是极其宝贵的资源。尤其在高并发环境下,频繁地创建和销毁数据库连接会显著降低系统的性能。为此,开发者通常采用数据库连接池技术来优化...

    struts资料\第三章(连接池与数据源)

    在"第三章 连接池与数据源"这个主题中,我们将深入探讨Struts框架如何管理和优化数据库连接,以及连接池和数据源在其中扮演的重要角色。 连接池是一种管理数据库连接的技术,它通过复用已建立的数据库连接,而不是...

    Struts配置数据库连接池

    ### Struts配置数据库连接池详解 #### 一、引言 在基于Struts框架的应用程序设计与开发过程中,为了确保良好的架构分离性以及提高代码的复用性与可测试性,通常会在Web/表示层(Presentation Layer)与业务逻辑层...

    struts 数据连接池项目代码

    1. 配置文件:如struts-config.xml用于配置Struts框架的各个组件,以及数据源的配置,可能在web.xml中配置数据连接池的相关参数。 2. Action类:处理业务逻辑,通过数据连接池获取数据库连接,执行SQL,然后将结果...

    struts数据源配置用到的4个jar

    总结来说,这四个jar文件在Struts数据源配置中起着核心支持作用,它们分别是处理集合操作的工具库、提供数据库连接池服务的DBCP、实现对象池的Pool库,以及处理Struts1遗留特性的Legacy库。正确理解和使用这些库,...

    配置struts数据源的四个包

    总结起来,配置Struts数据源的关键在于正确引入并配置数据库驱动、连接池库和Struts相关的类库,以及在应用的配置文件中正确设定数据源。这不仅可以提高应用程序的性能,还可以提高系统的稳定性和可维护性。

    struts配置数据源的问题

    此外,还可以使用第三方库如C3P0、Apache DBCP等来实现连接池,这些库提供了更高级的特性,如自动回收连接、超时控制等,以进一步优化数据库性能。 总结,配置Struts的数据源涉及到Java EE的JNDI服务、应用服务器的...

    在飞实习学J2EE之路:12.9.5 Struts用DBCP连接池(登陆,注册)

    1. 创建数据源:在Struts的配置文件(如`struts-config.xml`)中,定义数据源的bean,引用之前配置好的DBCP连接池。 2. AOP(面向切面编程)集成:可以使用Struts的拦截器或者Spring AOP来注入数据源,使得每次...

    struts5连接池与上传

    在`struts-config.xml`配置文件中,我们定义一个数据源`&lt;data-source&gt;`,设置其类型为`BasicDataSource`,并提供数据库连接的相关属性,如用户名、密码、驱动类名、URL以及连接池的最小活动连接数`minActive`、最大...

    在struts-config.xml中配置数据源

    - **连接池管理**:数据源通常包含连接池,可以高效地管理数据库连接,避免频繁创建和销毁连接的开销。 - **资源集中管理**:所有对数据库的访问都通过数据源进行,便于控制和监控数据库连接,也方便修改数据库连接...

    Struts数据源驱动,ssha配置缺少架包

    总之,"Struts数据源驱动,ssha配置缺少架包"的问题,需要从检查项目依赖、配置数据源、整合Struts、Spring和Hibernate等多个角度进行排查和解决。确保所有必需的库都已添加,并正确配置了相关的数据源和框架集成。...

    Struts1中配置数据源

    这个类会从请求中获取用户名和密码,然后使用数据源连接数据库进行验证。如果验证成功,将用户重定向到主页面,否则显示错误消息。 通过以上步骤,我们就在Struts1中配置了数据源,并以插件的形式实现了登录功能。...

    Struts配置数据源 jar包

    标题中的"Struts配置数据源 jar包"指向的是在Java Web开发中,使用Struts框架配置数据源所需的一些核心库。这些库主要来自于Apache Commons项目,包括`commons-collections.jar`,`commons-dbcp-1.2.1.jar`以及`...

    连接池资料

    3. 在Struts的配置文件(如`struts-config.xml`)中,配置ActionForm或Action类使用的数据源,使其能够从连接池中获取连接。 4. 在DAO层的代码中,通过DataSource获取数据库连接,执行SQL语句,并在完成后关闭连接。...

    struts配置的文件 连接池 mysql等配置文件

    在`web.xml`或单独的配置文件中设置连接池参数,如数据源、最大连接数、最小连接数、超时时间等。以下是一个DBCP的示例配置: ```xml ``` 6. **MySQL配置**:在Struts2应用中,通常使用JDBC驱动...

    hibernate配置数据库连接池的三种方法

    C3P0是开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Hibernate中配置C3P0连接池,需要在`hibernate.cfg.xml`配置文件中添加以下属性: ```xml ...

    struts4个数据源包

    在给定的"struts4个数据源包"中,我们看到四个重要的组件,它们是实现数据源管理的关键库。接下来,我们将深入探讨这些库的功能及其在Struts中的作用。 1. **commons-collections-3.1.jar**:这是Apache Commons ...

    ssh数据库连接池proxool

    3. **整合SSH**:在Struts的配置文件(如`struts-config.xml`)、Spring的配置文件(如`applicationContext.xml`)以及Hibernate的配置文件(如`hibernate.cfg.xml`)中引用Proxool的配置,指定数据源。 4. **编程...

Global site tag (gtag.js) - Google Analytics