The most challenging part of getting SQL Server talking to a
Java webapp server like
Tomcat is in configuring SQL server to listen on a tcp/ip port, since out of the box SQL server was using internal Windows communications channels. You'll also generally want to use "real" userids in SQL server and not simply defer identification to the Windows login security system.
On the client side, Microsoft's SQL server
JDBC driver had problems handling with complex transactions at one time, so I learned to love the open-source SQL Server driver available from sourceforge.net. I believe that the Microsoft-supplied drivers have become more reliable in recent years, but there's comfort in knowing that trustworthy alternatives are available.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.