If you are looking for the directory named 'servlet', it is possible that such may not physically exist. It is part of the default 'mapping' of tomcat looking for servlets under the 'classes' directory.
If you don't wish to use the 'servlet' term in the address path (
http://localhost:8080/chapter01/servlet/HelloWorldServlet) to avoid confustion, append (under </servlet>
the following servlet-mapping in web.xml if not already there.
...
<servlet-mapping>
<servlet-name>HelloWorldServlet</serlet-name>
<url-pattern>/HelloWorldServlet</url-pattern>
</servlet-mapping>
...
you can then use 'http://localhost:8080/chapter01/HelloWorldServlet'.
Aside from providing a shorter address (less typing), one may have to get used to this <servlet-mapping> because it seems to be the norm for the later versions of tomcat. Tried running a similar servlet in tomcat version 4.1.12 without such configuration in web.xml and it didn't work. Only when the <servlet-mapping> configuration was included did it work.