A class which responds to a particular type of network request - most commonly an HTTP request. Basically servlets are usually used to implement web applications - but there are also various frameworks which operate on top of servlets (e.g. Struts) to give a higher-level abstraction.
Servlet mapping specifies the web container of which java servlet should be invoked for a url given by client. It maps url patterns to servlets.