Any chance you could take an obedience class with him? That would help your relationship with him, and help him understand you are in charge.

As for jumping up when visitors arrive, try having him on a leash when you know someone is coming, and telling him "sit," before you open the door, and encourage the visitor to ignore him, remind him "sit" if necessary, and once the visitor is inside, give him a treat and tell him good dog if he has stayed sitting .... You might have a friend help you practice this a few times, and be sure to be completely consistent so he gets the idea that when someone visits, his "job" is NOT to greet them, but to sit politely, and wait until you tell him okay before even budging.