We have 2 boxers that we have had major difficulties with walking them on the leash for a long time now, and just recently we have been working really hard to try and correct this behaviour. What I find has worked for us is when one of them starts pulling we give a sharp tug on the lead, say "Wait" and then we stop on the spot and make them settle down, once they have settled and they are not pulling any more we praise them a lot, lots of pats and saying "good girl/boy" and we also give them a treat. So then they learn that pulling they get a yank on the lead and when they are calm and not pulling they get praised! Usually this works quite well, sometimes they will see a bird or something and start pulling ridiculously, and then they get a sharp yank, a loud "No" and also a small smack, and then we stop and do the whole praising thing over again! We find this easier in a park where there is less distraction, rather than on the side of the road with other dog in their yard and cars going past etc.
Anyway, this is what works for us, and it might not work at all for you, but our dogs were the worst of the worst, and they are slowly getting there, so there is hope for you!!
xx