來源:http://www.blogjava.net/biiau/archive/2008/04/16/193513.html

配置Struts数据源有很多种方法,我们这里讲解最实用的一种。

配置数据源所需要的JAR包:commons-dbcp-1.2.2.jar、commons-pool-1.4.jar、struts-legacy.jar
下载地址:
http://www.blogjava.net/Files/biiau/struts-dataSource.rar

1.配置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="SQL2000 Data Source" />
   <set-property property="driverClassName"
    value="net.sourceforge.jtds.jdbc.Driver" />
   <set-property property="maxCount" value="10" />
   <set-property property="minCount" value="2" />
   <set-property property="username" value="username" />
   <set-property property="password" value="password" />
   <set-property property="url"
    value="jdbc:jtds:sqlserver://localhost:1433/databaseName" />
  </data-source>
 </data-sources>
<!-- ============ Data Source End ================== -->

2.添加STRUTS插件;添加插件的目的是:任何文件中都可以用到此数据源

首先创建插件,它继承自org.apache.struts.action.PlugIn

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文件:
         <plug-in className="com.xxx.db.DBConn"></plug-in>

3.到此,数据源完成。用法示例:
        Connection conn =  new DBCon().getConnection();

--- struts数据源配置(详解)---相关推荐

  1. Springboot多数据源配置详解

    Springboot多数据源配置详解 概念 配置 多数据源使用 概念 一般来说,我们正常的业务只涉及一个数据源,在特定的业务场景中需要使用多个数据源的情况,就需要配置多个数据源来满足特定的业务需求.本 ...

  2. struts2配置详解(struts.xml配置详解)

    本文转自:http://www.cnblogs.com/fmricky/archive/2010/05/20/1740479.html struts.xml是我们在开发中利用率最高的文件,也是Stru ...

  3. Struts 2配置详解

    学习内容 Struts 2配置文件 Action的配置 Result的配置 属性驱动与模型驱动 能力目标 熟练进行Struts 2配置 熟练使用属性驱动和模型驱动 本章简介 上一章我们初步学习了Str ...

  4. hikari数据源配置类_SpringBoot多数据源配置详解

    开发环境:JDK1.8+SpringBoot2.1.4.RELEASE+Oracle 这里我们假设要使用两个数据源分别为:master和slave. pom.xml 依赖包 org.springfra ...

  5. Spring 多数据源配置详解

    前言 数据源是 JDBC 规范中用来获取关系型数据库连接的一个接口,主要通过池化技术来复用连接. 简单点的 Java 项目或者拆分比较彻底的微服务模块中只会用到一个数据库实例,对应一个数据源.稍复杂点 ...

  6. struts.xml配置详解

    2019独角兽企业重金招聘Python工程师标准>>> 1. 在struts2中配置常量的方式有三种: 在struts.xml文件中配置         在web.xml文件中配置  ...

  7. struts.properties配置详解

    Struts 2框架有两个核心配置文件,其中struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等.除此之外,Struts 2框架还包含struts. ...

  8. struts2 的struts.properties配置详解

    Struts 2框架有两个核心配置文件,其中struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等.除此之外,Struts 2框架还包含     st ...

  9. 6、struts.properties配置详解

    在Struts2的核心包中org\apache\struts2文件夹下可以找到Struts2的一个默认配置文件default.properties.有时为了调试方便我们可以更改部分默认内容.具体的方法 ...

  10. dbcp2数据源配置详解

    DBCP2详细的配置表 常用链接配置 参数 描述 username 传递给JDBC驱动的用于建立连接的用户名 password 传递给JDBC驱动的用于建立连接的密码 url 传递给JDBC驱动的用于 ...

最新文章

  1. 2. sed执行的流程
  2. Redis集群的重启
  3. 外媒分析:iPhone销量低于预期是中国市场疲软影响的
  4. 电脑编程用户注册界面java_用JSP/Servlet开发简单的用户注册系统
  5. TP5 验证码功能实现(解决点击验证码不更新的问题)
  6. 中set无效是怎么回事_一起认识下,那些我们应该知道的mysql中的变量知识点
  7. Maven的Pom文件 ( Eclipse中创建Maven工程, 使用注意点,DevOps相关)
  8. PS2022新增功能简介
  9. mmsegmentation自定义数据集
  10. linux与测试程序下载,Linux测试上行和下载速率
  11. Android封装拍照sdk,Android 短视频拍摄、拍照滤镜 第三方库SDK
  12. 规范化理论:范式等级
  13. 毛玻璃效果(CSS)实现
  14. 软件测试行业的优缺点
  15. 小程序使用post请求遇到的问题
  16. idea中没有 program arguments 选项
  17. 全网首档会员付费网综领跑曲艺文化新形态 爱奇艺《坑王驾到》第二季28日上线...
  18. (私人收藏)2019WER积木教育机器人赛(普及赛)基础解决方案
  19. 第七章---内置模块
  20. 企业专属人才库的建立

热门文章

  1. 编写自己的Javascript库-1
  2. MFC-使用自定义控件的方法
  3. MFC中实现模态对话框的结构与原理
  4. kfaka storm写入mysql_flume+kafka+storm+mysql架构设计
  5. android.os.build修改,Android的os.BuildID对应的SDK版本号以及SDK版本号与APILevel对应关系.docx...
  6. 速率法和终点法的区别_生化分析仪检测中的终点法、两点法、双波长法有什么区别...
  7. java反编译工具_ReverseTool逆向工具集合
  8. GoogLeNet学习
  9. influxdb tsm文件_Influxdb中的Compaction操作
  10. 关于低代码自定义表单的思路和想法