Well, I'm going to be the one to rain on the parade a bit....
I had three cats with my old dog. Now I'm down to two. I never, ever, in a million years anticipated that I would have any trouble introducing a 9 week old pup to the cats. The one cat is almost 2, the other is 9. Both have spent their entire life with a dog.
The pup was very cautious at first, and is still extremely friendly. This is now where the problem is: the older cat will just run and hide or hit the pup in the face (no claws), but the younger one, the one who could actually teach the pup a lesson, will JUST LAY THERE AND DO NOTHING if the pup is too rough. No claws, nothing. Just like a dead thing. Sigh. To be fair, the cats do not live inside, they are outside. But we bring them in, and now, my pup is 8 months old and he is STILL WAY, WAY, too excited. He will eventually "leave it" if I have some sort of treat that is super high in value, but if the cat so much as moves.....it's over. It's sooooooooooooo frustrating. I've seen my pup behave fine around other cats who don't run and swipe at him, but I never figured my cat would behave that way.
If I could do it over, I would make the cats live inside for the first month, so the pup would be flooded initially and he would be too small to scare the cat. For the life of me I never ever thought a cat wouldn't defend itself against a friendly pup who was just a bit rough. It's a thorn in my side and I'm banging my head against the wall, GRRR. (They have always been supervised, btw, sometimes with leash on and sometimes not, as I think it frustrates the pup more).