In my opinion, for a better understanding , we need to dissect components that confuse us and these components are ,
- REST Concept
Fielding used REST to design HTTP 1.1 and Uniform Resource Identifiers
(URI)
- HTTP Protocol -
Hypertext Transfer Protocol
javax.servlet.http.HttpServlet
class
- REST with Java - JAX-RS and its implementations ( like Jersey etc)
- Other REST Implementations not conforming to JAX-RS ( like Spring REST )
Difference between JAX-RS and Spring Rest
Then if you refer this answer to understand as how these implementation use a Servlet ( A concrete javax.servlet.http.HttpServlet
) to intercept all incoming requests. Important quote there is,
These REST service classes are simple POJOs annotated to tell the
jersey framework about different properties such as path, consumes,
produces etc.
Then you can further read about - What is the difference between REST and HTTP protocols? & What is the difference between HTTP and REST? and make a conclusion as what advantages you get if you make your web service RESTFul , namely ( copied from one answer ) ,
REST is not necessarily tied to HTTP. RESTful web services are just web services that follow a RESTful architecture.
What is Rest -
1- Client-server
2- Stateless
3- Cacheable
4- Layered system
5- Code on demand
6- Uniform interface
What is the advantage of using REST instead of non-REST HTTP?
Though, I wouldn't like to get into advantages - disadvantages ( pros & cons ) debate as that is very subjective.
With above readings , now for your question ,
What is the need for Restful services as normal servlet can also work
on the HTTP methods?
You would understand that REST Frameworks simply simplify implementation of REST Services at enterprise level but they do use HTTP Servlet to intercept incoming requests. You can always use plain servlets to implement your own REST services but that would simply be more time consuming with lots of boiler plate code.