tomcat6.0 + myeclipse6.5下tomcat 数据源的配置

(1)环境: 如题  很重要!不同的环境,不同的配置 !

(2)struts包的加载: 我的MyEclipse6.5 下加载他自带的struts jar包时出错,出现“collections 下找不到 quickHashMap"的异常(大概意思,忘了记录下来),后来去除他自带的STRUTS JAR,加上独立的Jar,并且将 所有的STRUTS jar 都复制加到 工程的WEB-INF/lib中。

(3)将 数据库联接JAR文件分别COPY 到 工程的WEB-INF/lib下 和 tomcat 下的lib下。

(4)在tomcat 的 conf/下的Context.xml 进行修改,在其中的<Context></Context> 中加入如下代码(要根据自己的情况稍加修改):

写道
<Resource name="sdemo" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="sa" password="xxxxxx" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=afdDemo"/>

 (5)在工程的web.xml 中引用:

<!-- 数据源的引用 -->
	<resource-ref>
       <res-ref-name>sdemo</res-ref-name>
       <res-type>javax.sql.DataSource</res-type>
       <res-auth>Container</res-auth>
    </resource-ref>

 

(6)在工程中使用该DBCP了:)

public static Connection getConnection(){
		Connection conn = null;
		try {
			Context initContext = new InitialContext();
			 // Context envContext  = (Context)initContext.lookup("java:/comp/env");      
			  DataSource ds = (DataSource)initContext.lookup("java:/comp/env/sdemo"); 
			
			 conn = ds.getConnection();
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	     return conn;
	}

 (7)在dao类中就可以直接调用连接了:)

public List<User> selectAll(){
		List<User> list = new ArrayList<User>();
		Connection conn = DBUtil.getConnection();
		if(conn == null){
			System.out.println("conn is null!");
		}
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try {
			pstmt = conn.prepareStatement("select * from [User]");
			rs = pstmt.executeQuery();
			User user = new User();
			while(rs.next()){
				user.setUserID(rs.getInt(1));
				user.setUserName(rs.getString(2));
				System.out.println(user.getUserName());
				list.add(user);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				if(rs != null){
					rs.close();
				}
				if(pstmt != null){
					pstmt.close();
				}
				if(conn != null){
					conn.close();
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return list;
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值