A relatively new invention that will definitely solve this problem is the no jump harness. It works by restricting the movement of the dog’s hind legs so that it can’t jump at all. This should not be a permanent solution but rather something that can be effectively used during training. It should not only stop them from jumping chain link fences, but also from jumping on people and furniture.
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.
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.
Before you answer the door and welcome guests, clip a leash on your canine, preferably to a front-clip harness or head halter, so that he can be controlled in a manner such that he cannot greet if he jumps. When your dog is calm, with all four paws on the floor — which may take up to a few minutes for more excitable dogs — allow him to approach guests and say hello. If he jumps, gently turn and lead him away; wait for calm behavior before approaching again. For particularly excitable dogs, another option is to remove the dog to a contained area before guests come in. An exercise pen or baby gate is adequate containment for many dogs. If you have an athletic or large dog that can easily scale a gate, use a crate or move him to a room with a closed door. Once your dog calms down, clip on his leash and allow him to come out and greet your guests.
Make sure other family members and visitors understand this command, as well. It is crucial that your dog understand that all family and visitors are above his rank in the pack. Otherwise, he will lash out and try to assert himself on everyone. While using the Off command may not be appreciated by most visitors, but it is more important that a dog has a good greeting manner with all people. A little effort on everyone's side makes your dog disciplined and docile.
Unless given a command to jump, a dog should never be allowed to jump on humans. A dog that jumps on humans of its own free will is a dog that does not respect the person it is jumping on. Even those cute little toy dogs should not be allowed to jump on people. While you may think it is cute, it is not cute to everyone else. Not only is it annoying to most people to have someone else's dog jump on them, it can also be dangerous. A jumping dog can knock people over, muddy their clothes, put runners in nylons and scratch the skin.