my limited understanding of mssql server clustering is that the failover is actually done by a "master" controller and all done on the db side. So the jdbc would still pass the request to that master and IT would figure out whether or not the database in question was available.
There are some technologies out there that work the way you're thinking, sequoia is the one I can name off the top of my head.
Sequoia is a middleware jdbc tier. Read more about it here:
http://sequoia.continuent.org/HomePage
[Message sent by forum member 'areplogle' (areplogle)]
http://forums.java.net/jive/thread.jspa?messageID=292657