Tomcat数据源数据库用户名或密码错误

环境:

tomcat\webapps\myweb\META-INF\context.xml中的内容是:

<?xml version='1.0' encoding='utf-8'?>
<Context>
    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
  
<Resource name="jdbc/myds" auth="Container" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
              url="jdbc:oracle:thin:@192.168.0.1:1521:ora11g"
              username="usera" password="pwd" maxActive="20" maxIdle="10"
              maxWait="-1" />
</Context>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
   /WEB-INF/applicationContext.xml,/WEB-INF/spring/applicationContext*.xml
  </param-value>
  </context-param>
   <resource-ref>
  <description>Oracle Datasource example</description>
  <res-ref-name>jdbc/myds</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  </resource-ref>

</web-app>

applicationContext.xml 文件中的内容spring引用数据源

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName" value="java:comp/env/jdbc/myds"/>
 </bean>

 

 

问题:总是提示用户名或密码错误,连接数据库失败

最后发现是tomcat\conf\Catalina\localhost\myweb.xml中的数据源密码是错误的.

myweb.xml的名称是web应用的名字,文件中的内容应该是tomcat\webapps\myweb\META-INF\context.xml中的内容

 

tomcat5数据源

server.xml

      <Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
    <Context path="/myapp"  debug="0" docBase="/web/bbs"
          reloadable="true" crossContext="true">
              <Resource name="myappDS" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
    maxActive="300" maxIdle="2" maxWait="10000"
    username="aa" password="aa"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@192.168.0.11:1521:orc"
     />
          
        </Context>

      </Host>

 

tomcat6数据源自动连接

给你一段代码,看看对你有没有帮助:
这是我的tomcatde DHCP的配置
<Resource driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" logAbandoned="true" maxActive="20" maxIdle="2" maxWait="5000" name="system" password="sa" removeAbandoned="true" removeAbandonedTimeout="60" type="javax.sql.DataSource"
url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=base" username="sa"/>
当中的
logAbandoned="true" removeAbandoned="true" removeAbandonedTimeout="60"就是用来配置数据库断开后自动连接的。
posted @   letmedown  阅读(1127)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示