You can also turn your back on the pup when he jumps. He is jumping to get your attention and greet you. He thinks that is the proper way to say hello. So give him your back for a second, turn back around tell him to sit, and kneel down at his level and give him affection while you are kneeling and he is at ground level. It will teach him that he only gets a response from you if he is behaving. If you are having guests over warn them ahead of time, tell them to do the same. Most guests would be happy to oblige!
If you've ever seen a pack of wolves in action you will see the alpha stand stoic and still and ALLOW the younger pups to come and greet them by givig them kisses on their face. That is what your puppies instinst, thats how they pay respect to there superior.