Some people will override service, others will code one in terms of the other. I tend to do the latter so that the base class' service() method can deal with the HTTP methods other than post and get. [ April 19, 2006: Message edited by: Bear Bibeault ]
The service() method is usually overriden when you are using a 'GenericServlet'.
If you are using an 'HttpServlet', then the service method handles the delegation of the HTTP request received to one of the appropriate doXXX methods which are defined in the HttpServlet implementation. The Java API Docs mention this in detail, suggest you look them up here...
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com