I've been using Linux with tomcat and java for almost a year now. The truth is that there is no specific place where you *must* put the jdk and tomcat, however, there are some recommended places. Typically, executables that are to be used system-wide are placed into either /usr/local, /usr/bin, or /usr/local/bin. I'm not exactly sure what the differences are though. My preference is to use /usr/local as the starting poing (the equivalent of Windows "c:\program files" for example).
On my system, I've installed the JDK 1.4.1 into /usr/local/development/j2sdk1.4.1 and tomcat into /usr/local/development/apache/tomcat-4.1.24. Everything works fine for me. Just remember to set your $JAVA_HOME, and your $JAKARTA_HOME environment variables, and to add the $JAVA_HOME, and $JAVA_HOME/bin paths to you $PATH environment variable after installing.
Hope this helps.