Modul servlet dasar

20.06 priyoh 1 Comments



MODUL 2. SERVLET DASAR

Tujuan
·         Mempelajari aplikasi web dengan Servlet

Teori Singkat
Servlet adalah sebuah class dalam bahasa pemgrograman Java yang digunakan untuk meningkatkan kapabilitas dari server sebagai host dari aplikasi yang diakses melalui request-response programming model(Diadaptasi dari tutorial J2EE). Servlet adalah sebuah class java yang meng-implement interface Servlet dan menerima request yang berasal dari class Java, web client, atau servlet lain yang membangkitkan response.
"Servlet" juga dipanggil sebagai HTTP Servlet. Hal ini disebakan karena servlets biasanya digunakan dengan HTTP, akan tetap servlet bukanlah merupakan salah satu spesifikasi spesifik dari protokol client-server.
Untuk memulai pembuatan servlet. Anda diharapkan mengerti mengenai pemrograman, konsep client-server, dasar-dasar HTML dan HTTP (HyperTextTransferProtocol). Untuk menciptakan sebuah servlet, Anda perlu untuk meng-import standard extension class dari javax.servlet dan javax.servlet.http ke program java Anda. Javax.servlet berisi framework dasar servlet dimana javax.servlet.http digunakan sebagai ekstensi dari framework servlet bagi servlet yang akan menjawab HTTP request.
Object dari HttpServletRequest dan HttpServletResponse telah menyiapkan fungsi-fungsi yang berguna bagi developer:
·         Object HttpServletRequest memberikan akses bagi segala informasi terhadap client request, termasuk apa saja bentuk parameter value yang dapat diletakkan pada Http request header, Http request method yang telah mereka gunakan, dan sebagainya.
·         Object HttpServletResponse terdiri dari semua method yang dibutuhkan oleh developer untuk memproduksi sebuah response yang akan dikirimkan kembali kepada client. Meliputi method-method yang harus di-set pada HTTP response header, untuk mendeklarasikan tipe MIME dari response, sebaik method yang digunakan untuk mengambil instance dari class Java I/O yang akan kita gunakan secara langsung untuk memproduksi output.

Untuk melayani request dari client, Anda perlu meng-override method service(). Parameter yang dilewatkan ke dalam method service() ini berupa obyek HttpServletRequest dan obyek HttpServletResponse.
Untuk lebih spesifik terhadap HTTP method, Anda juga bisa meng-override method doGet() dan atau doPost(). Kedua method ini mempunyai parameter yang sama dengan service().
Method doGet() akan dijalankan jika client mengirimkan HTTP request dengan method GET. Contoh dari method GET, adalah jika user meng-click sebuah link di halaman Web. Dalam kasus ini, Web browser akan mengirimkan HTTP request dengan method GET ke server.
Method doPost() akan dijalankan jika client mengirimkan HTTP response dengan method POST. Ini terjadi misalnya, saat user mengisi HTML form dengan method POST, dan men-submit request tersebut ke server.
Di dalam method service(), doGet(), atau doPost() ini Anda bisa membaca parameter yang dikirimkan client, mengolah data, dan menulis response ke client.

Salah satu skenario yang paling sering ditemukan dan membutuhkan sebuah konten yang dinamik adalah apabila kita ingin alikasi merespon kepada user yang dipresentasikan dalam bentuk form. Java telah menyediakan method getParameter didalam objek HttpServletRequest. Method ini akan mengambil sebuah parameter String dari sebuah form. Sedangkan untuk mengambil semua nilai didalam form digunakan method getParamaterValues.


Praktik
Dengan menggunakan Netbeans IDE, kerjakan langkah berikut.
1.       Buat Project Baru, klik File à New Project, akan muncul dialog New Project
2.       Pada pane (bagian) Choose Project, pilih Java Web pada Categories and Web Application pada Projects. Klik Next.
3.       Pada pane Name and Location, untuk isian Project Name, tulis ServletDasar sebagai nama project name. Klik Next.
4.       Menyelesaikan penciptaan proect NetBeans.
o    Pilih Server (bisa dipilih GlassFish atau Tomcat) .
o    Pilih Java EE Version dengan Java EE 5.
o    Klik Finish.
5.       Klik kanan pada node Source Packages, pilih menu New à Java Package. Pada isian Package Name ketik servlets. Klik Finish.





6.       Klik kanan pada node paket servlets yang baru anda buat, pilih menu New à Servlet . Pada isian Class Name ketik HaloServlet. Klik Next.

7.       Pada isian URL Pattern(s), ketik /halo. Klik Finish.

8.       Memodifikasi kelas HaloServlet.java
·         Klik ganda file HaloServlet.java pada node ServletDasar ->Source Packages->servlets.
·         Hilangkan komentar pada kelas HaloServlet.java pada fungsi processRequest (teks yang dicetak tebal):
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            ///* TODO output your page here
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet HaloServlet</title>");  
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet HaloServlet at " + request.getContextPath () + "</h1>");
            out.println("</body>");
            out.println("</html>");
            //*/
        } finally {
            out.close();
        }


9.       Tambahkan link berikut di file index.jsp:
<br/>
<a href="./halo">Halo</a>

10.    Modifikasilah (pastikan) file web.xml menjadi seperti berikut.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <servlet>
        <servlet-name>HaloServlet</servlet-name>
        <servlet-class>servlets.HaloServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HaloServlet</servlet-name>
        <url-pattern>/halo</url-pattern>
    </servlet-mapping>
    </web-app>


11.    Jalankan project dengan menu: Run à Run Project

12.    Klik link Halo

13.    Menambahkan form isian berupa file inputdata.html
·         Pada node Web Pages klik kanan, pilih menu New à HTML.
·         Pada isian HTML File Name, ketik inputdata. Klik Finish.

1 komentar: