.do is actually a servlet, an action defined by structs. As for what is a servlet, you can search the Internet yourself, there is a lot of information.
.do is a mapping to the servlet file you make. You can write it into other .* files, it makes no difference, in fact, it is all .java files, .jsp is .jsp files, he is mainly used by the WEB server Come to recognize the format!
As for what basic knowledge to learn, just learn java, you can take a look at the programming books on servelt or struts,
When you use jsf, it may not be a .do file