specifics:
Many tutorials (and some of them have really great other information, so it's hard to dismiss them) still use ROOT directory of Tomcat and use the 'lazy' mapping provided by 'most' (but not all) servlet containers... ie: "just place your servlet class here and call it like
http://myserver.com/servlet/servlet.class.name" While not 'wrong', this is not the best practice.
In fact, if you read web.xml I mentioned to you above, you'll see how Tomcat provides the /servlet/*
pattern matching. It's in there in the comments.
What you'd want to do is create your own, web-application specific version of the web.xml file, which maps specific servlets to specific URLs. Then Tomcat can combine the webapplication name plus mapping provided in web.xml to serve the correct servlet.
eg:
http://myserver.com/mywebapp/myservlet if you mapped HelloWorld sevlet to 'myservlet' in the web.xml file in the 'mywebapp' application, then the above URL would invoke that servlet.