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 :
public class SimpleHttpServlet extends HttpServlet { protected void doGet( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().write("<html><body>GET response</body></html>"); } }
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 :
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"); } }
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.
Leave a Reply