Struts配置数据源问题

6 篇文章 0 订阅

在Struts中, 利用数据源技术,可以将驱动类,连接字符串,用户名,密码等信息与具体代码的分离,从而可以增加系统的安全性和移植性等.

但在使用出现点问题,现在记录如下:

配置好的Struts-config.xml如下:

 

<? xml version="1.0" encoding="UTF-8" ?>
<! DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd" >
< struts-config >

<!-- 数据源代码如下,"key"这个名称可以自己指定 -->
  
< data-sources >
    
< data-source  key ="dataSource"  type ="org.apache.commons.dbcp.BasicDataSource" >
      
< set-property  property ="driverClassName"  value ="org.gjt.mm.mysql.Driver"   />
      
< set-property  property ="url"  value ="jdbc:mysql://localhost:3306/login"   />
      
< set-property  property ="username"  value ="root"   />
      
< set-property  property ="password"  value ="123654"   />
    
</ data-source >
  
</ data-sources >


  
< form-beans >
    
< form-bean  name ="loginActionForm"  type ="login3.LoginActionForm"   />
  
</ form-beans >
  
< action-mappings >
    
< action  input ="login.jsp"  name ="loginActionForm"  path ="/loginAction"  scope ="session"  type ="login3.LoginAction"  validate ="false" >
      
< forward  name ="loginsuccess"  path ="/welcome.jsp"   />
      
< forward  name ="loginfail"  path ="/error.jsp"   />
    
</ action >
  
</ action-mappings >
</ struts-config >

 

在Java代码中中,可以通过以下形式访问数据源

 

      javax.sql.DataSource ds  =   null ;

/*
          不用数据源的方式
      Class.forName("org.gjt.mm.mysql.Driver");
      con = DriverManager.getConnection(
          "jdbc:mysql://localhost:3306/login", "root", "123654");
*/

      ds 
=  getDataSource(servletRequest, " dataSource " );
      con 
=  ds.getConnection();

但是直接这样运行起来会出现以下问题:

解决方案如下:

需要将struts-legacy.jar,commons-pool-1.3.jar,commons-dbcp-1.2.2.jar三个文件放到

web模块名/WEB-INF/lib

重新web run一下,OK了

PS:三个jar文件的下载地址:

http://www.live-share.com/files/302633/Struts_DataDourse.rar.html

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值