In order to perfect the proper greeting routine, your dog needs much more practice than that. You can speed up the training process by leaving through the back door and returning through the front door over and over again. When your friends come over, have them do the same. Each time, ask your dog to sit-stay before opening the door. At first his excitement will make it difficult for him to concentrate but after you've repeated this process 10 times, he will calm down and be able to concentrate. Before asking your dog to sit-stay in this distracting and exciting situation, be sure he has a reliable sit-stay in normal, non-stressful situations. And of course you can always just hold the dog in a sit if need be.
For pups that ambush you and bite your rear end while playing outside, hide a toy or two in the backyard and ask them to find the toy. Bad weather can give puppies cabin fever when they don’t have adequate time outside to run off the energy. Mental stimulation can wear them out, too. Show your puppy a favorite toy and then roll it up inside an old towel and knot it to make a puzzle. Encourage the pup to unravel and get the toy. You can even tie the first toy-in-the-towel inside a second one for more of a challenge to relieve boredom.
Understand the dog's behavior. In a dog's world, it is instinctual to greet another dog by coming nose-to-nose with them. This allows them to sniff each other's faces and become acquainted with the other dog's scent. Of course, your nose is a bit higher to reach so it is only natural that your dog will jump up to get closer to your face when greeting you. This can be quite annoying and unnecessary, but fortunately, the habit can be broken.
I remember going to a dog park where a little 4-month-old Boxer puppy ran around jumping on everyone. The dog was not heavy enough to knock most of the adults down. However, it left everyone with muddy pants and the dog was big enough to knock over small children. The owner did nothing to stop the jumping puppy. After all, it was just a small pup. Everyone around her was pretty annoyed at the muddy prints the dog was leaving all over their clothes. That is an owner who will have a problem with her dog jumping on people when it gets older.
Redirect with a sit command. The simple 'sit' command can be useful in many different situations. Most importantly, it is a great distraction technique for redirecting your dog's attention from an undesirable behavior, such as jumping up. When your dog jumps up on you, turn your back to them while keeping them in your peripheral vision. Ask her to sit and immediately praise her when she does so.
When a dog jumps on a human of its own free will, it is not "greeting" the human, it is asserting its dominance over the human; it is the dog communicating that it is alpha and/or wishes to own/control the human. A subordinate would never dream of running over and jumping on the alpha dog of the pack. Space is respect and lower members of the pack respect the higher members. If your dog jumps on humans, it does not respect them. Note: when a young puppy jumps on humans it is sometimes its attempt to reach one's face. Puppies need to be taught not to jump up on humans as this behavior will manifest into other meanings as the puppy grows up into an adult dog.