DID YOU KNOW? - If you randomly reward a behaviour it becomes stronger than if you reward it all the time. Thats why jumping up, counter surfing and begging are so hard to break ... someone in the dogs life is 'sometimes' rewarding the behaviour. Thus randomly rewarding it - making it stronger still.
In this Video Emily Larlham shows you how to train the dog not to jump in the first place by rewarding the dog quickly and regularly for having four feet on the floor. She also puts the treat on the floor to stop the dog looking up for the reward.
Pay attention to the need to reward BEFORE the dog has jumped. This means you always need to be prepared whist teaching it, have treats ready in places around the house, by the front door inside and out, and always on your person when out and about. Remember keep some rewards up occasionally once trained (thus randomly rewarding this new feet on the floor behaviour, making it stronger!!).
When you don't have time or effort to train the dog don't allow them to jump at people by having them on the lead and standing far enough away your dog cannot make contact with people should he jump. Make sure people do not speak to him if he is leaping about on the lead. You can also put him in his crate or another room or garden if you have people round and you don't feel like training him the whole time. Sometimes you will also have guests of a certain type and it is not appropriate to train the dog with them there.