Why Use Servlets for RESTful Web Services?
Chapter 2 explores various ways to implement and publish RESTful services in Java, which has a rich set of built-in and third-party APIs. The current chapter introduces a tried-and-true way to do RESTful services in Java: the service is implemented as a JSP script, which a web server such as Tomcat or Jetty translates into a servlet, and the servlet then is published with the web server.
An HttpServlet is a natural, convenient way to implement RESTful web services for two
main reasons. First, such servlets are close to the HTTP metal. For example,
the HttpServlet class has methods such as doGet, doPost, doPut, and
doDelete that match up with the HTTP verbs aligned with the CRUD operations. These
servlet methods execute as callbacks that the servlet container, explained shortly, invokes
as needed. The HttpServlet class also provides symbolic constants for HTTP status codes, for
example, SC_NOT_FOUND for status code 404 and SC_METHOD_NOT_ALLOWED for status
code 405. Each HttpServlet do-method has the same two arguments:
an HttpServletRequest and an HttpServletResponse. The servlet request contains, as
key/value pairs, all of the appropriate information encapsulated in the HTTP request,
regardless of the request verb—for a GET request, the HttpServletRequest would include
any key/value pairs in a query string; for a POST request, this data structure would
include any key/value pairs in the POST request body.
The HttpServletRequest map is easy ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access