*.do this is known as the extension mapping rule as in any request with a .do extension would go to the mapped servlet. But this rule would come into play only when the other Path mapping rules would fail.
I see what you mean about the /*.do mapping - although it would be nice if this did work, the servlet spec. makes no mention of it being valid. THe relevant paragraphs of section SRV.11.2 of the spec. state:
From Servlet 2.4 spec:
A string beginning with a �*.� prefix is used as an extension mapping.
All other strings are used for exact matches only.
So in fact I would assume they've made a mistake and meant to have *.do as option B. In that case it would be correct. As it is, according to the spec., B would be interpreted as the path to the resource called "*.do" under the / root... which seems a bit daft!
Charles Lyons (SCJP 1.4, April 2003; SCJP 5, Dec 2006; SCWCD 1.4b, April 2004)
Author of OCEJWCD Study Companion for Oracle Exam 1Z0-899 (ISBN 0955160340 / AmazonAmazon UK )