HttpServlet

Oleh : Reza Ervani

Rujukan : jenkov.com

بسم الله الرحمن الرحيم

Class javax.servlet.http.HttpServlet adalah class dasar yang sedikit lebih tinggi daripada GenericServlet yang digunakan dalam tutorial sebelumnya.

Class HttpServlet membaca request HTTP dan menentukan apakah request tersebut adalah  HTTP GET, POST, PUT, DELETE, HEAD atau yang lainnya, dan kemudian memanggil metode yang diperlukan.

Untuk merespon – misalnya hanya pada request HTTP GET – kita perlu untuk melakukan extend class HttpServlet dan menuliskan hanya metode  doGet() Berikut ini contohnya :

[code language=”java”]

public class SimpleHttpServlet extends HttpServlet {

protected void doGet( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

response.getWriter().write("<html><body>GET response</body></html>");
}
}

[/code]

Class HttpServlet memiliki metode-metode yang dapat digunakan untuk masing-masing metode HTTP (GET, POST dll) yakni :

  • doGet()
  • doPost()
  • doHead()
  • doPut()
  • doDelete()
  • doOptions()
  • doTrace()

Yang paling sering tentu adalah HTTP GET dan POST

Jika kita ingin menangani request GET dan POST dari servlet yang ada, kita dapat menuliskan kedua metode tersebut dan membuatnya saling memanggil satu sama lain. Berikut caranya :

[code language=”java”]

public class SimpleHttpServlet extends HttpServlet {

protected void doGet( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

doPost(request, response);
}

protected void doPost( HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

response.getWriter().write("GET/POST response");
}
}

[/code]

Perhatikan bagian

doPost(request, response);

pada kode diatas.

Sangat direkomendasikan untuk menggunakan HttpServlet dibandingkan GenericServlet sebisa mungkin. HttpServlet lebih mudah digunakan dan memiliki metode-metode yang lebih cocok dibandingkan GenericServlet.

About Reza Ervani 426 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.