Your servlet mapping defines the url that will be used to access your servlet.
With traditional webserver (and most web scripting languages) the url is defined by the filename and location of the page within the server file system. Since servlets are not tied to the server's filesystem, (They could be in jars, wars, under the app's WEB-INF/classes directory or under directories common to all apps in the container), the servlet developer needs a way to specify how he/she wants the end user to invoke them.
For a while containers provided a way to invoke servlets by package/classname but it turned out to poor idea and was, in a sense, deprecated. See:
http://faq.javaranch.com/view?InvokerServlet for more details.
De-coupling the URI from the layout of the application's file structure adds flexibility and security to
Java webapps.
By the way: If you have a lot of servlets and consider creating a mapping for each one to be cumbersom, you might want to look into the "Front Controller"
pattern. With it, you only need one mapping for your whole app.