Anthony Rowley, 27, was given four life sentences at the Old Bailey after a jury found him guilty of attacks on the 42-year-old woman.
Judge Paul Collins told Rowley: "I have no doubt that you are a potential danger to women for an indefinite period, particularly when you are under the influence of drink."
The judge said anyone who had seen the victim give evidence would be in no doubt about the distress she suffered.
After the case, police said the woman and her four-year-old son had been permanently affected by their ordeal in October 1997 at their London home.
Rowley, of North Sheen, Surrey, was given life terms for three rape offences and attempted rape. He was given an eight-year sentence for indecent assault. The petty criminal denied being the attacker, claiming he had passed out drunk in the road.
Judge Collins said Rowley had changed his plea three times, managing to "spin out" the case for two years.
Rowley approached the woman as she returned home with the boy. He told her: "Open the door or I will kill the kid." He made the mother lock the child into a bedroom. The woman said that she had to listen to the cries of her son as she was raped by Rowley, who said he had a gun and knife.
The judge said the attack had blighted the life of the victim and her family.
The victim, who has not practised law for some years, had been in her home for a month before the attack. She refused to return there and left for Canada.Reuse content