Installing the Jakarta Tomcat servlet container can be quite a pain, as I discovered, even on a convenient distribution such as Debian. I was able to make Tomcat from unstable work on a testing system using the pinning feature, however. The Debian package took care of most of the dirty work, but the configuration files were not quite tailored correctly for my system.
In this document I am assuming that you have a working Apache installation (I used 1.3.19 from testing) and that you have APT 0.5.3 and dpkg 1.9.6 or greater. I am running Kernel 2.2.19, and the installation was conducted on 'woody' but using certain packages from 'unstable' (such as Tomcat itself).
This document was written when potato (2.2) was 'stable' and woody was 'testing'. If things have changed by the time you read this, packages may have been updated, but the general gist should be of use.
In addition, please consult the documentation at http://jakarta.apache.org/ for an authoritative reference. In no way do I guarentee that the instructions in this document are entirely accurate, they are just a reflection of my experience.