Struts 少见的HTTP Status 503 - Servlet action is currently unavailable错误

Struts 数据源配置错误排查
本文记录了一次因数据源配置错误导致Struts应用无法正常启动的问题排查过程。作者发现即使配置文件中的数据源设置有误,系统也不会直接报告错误,而是导致后续配置无法执行。文章展示了具体的配置示例及解决办法。

网上众多资料说起这个错误地时候,多半是以web.xml中没配置好ActionServlet为理由的。今天为了加一个数据源,也碰到了这个错误。

找了半天,才发现错误原因是在对数据源的设置中(struts-config.xml),有一个参数错了,但是在启动、运行以及页面访问的过程中,服务器没有任何异常出现。我的配置,仅作展示:

<struts-config>
 <data-sources>
  <data-source type="org.apache.commons.dbcp.BasicDataSource"
   key="hrm">
   <set-property property="driverClassName"
    value="oracle.jdbc.driver.OracleDriver" />
   <set-property property="url"
    value="jdbc:oracle:thin:@172.52.16.189:1521:oracle" />
   <set-property property="username" value="hrm" />
   <set-property property="password" value="hrm" />
  </data-source>
 </data-sources>

。。。 

</struts-config>

我的错误是把上面的IP搞错了。

我想,如果在Struts配置文件中配置了数据源,那么在Tomcat启动时就会检查数据源是否正常。如果不正常,虽然系统不报错,但也许struts-config中的其余内容可能就不执行了。。。而很不巧的是,data-source的配置,偏偏就是struts-config.xml中的第一个。。。所以,data-source一错,就出现了莫名其妙的这个问题

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值