The following lines in your stack trace:
are telling you that when the Struts ActionServlet tried to execute it's init() method at initialization time, it failed when it was "Initializing application data source usage" thereby rendering the Struts ActionServlet "Unavailable".
Translation: Putting the DataSource definition in your struts-config.xml file is messing up your entire application. I've already given you the best way to fix it: Remove the DataSource definition from your struts-config.xml file and instead definie it as a JNDI resource in Tomcat. See
this link for more information on how to do that.
Even if you do by some miracle come up with something that will fix your Struts DataSource configuration, you will in the end still have a solution that is inferior to using Tomcat's Connection pooling. Furthermore, you will have made it so you can't upgrade your application to a newer version of Struts because it's no longer supported in version 1.3.5 and above.
[ March 13, 2007: Message edited by: Merrill Higginson ]