CodeGym/Java Course/Modul 3/JSP: cara deklaratif untuk mendefinisikan servlet

JSP: cara deklaratif untuk mendefinisikan servlet

Level 13, Pelajaran 0
Tersedia

1.1 Pengantar JSP

Ada dua cara populer untuk menulis servlet: imperatif dan deklaratif . Kami telah menangani yang pertama - ini sebenarnya adalah Servlet. Yang kedua disebut JSP (Java Server Pages), dan kita akan mengenalnya sekarang.

Contoh JSP servlet:

<html>
    <body>
        <% out.print(2*5); %>
    </body>
 </html>

Tidak terlalu mirip dengan Servlet klasik yang biasa kita gunakan, bukan? Ini benar. JSP adalah halaman HTML dengan sisipan kode Java (disorot dengan warna hijau) .

Soalnya, jika Anda memiliki banyak kode Java di servlet dan sedikit kode HTML, maka Anda lebih nyaman menggunakan servlet klasik . Tetapi bagaimana jika Anda membutuhkan halaman HTML besar yang hanya beberapa baris yang diubah oleh server?

Dalam hal ini, hal paling sederhana adalah membuat halaman HTML ini dan entah bagaimana mengeksekusi kode Java di server tepat di dalamnya.

1.2 Mengkompilasi JSP

Mari kita lihat contoh lain:

<html>
  <body>
    <%
        double num = Math.random();
        if (num > 0.95) {
     %>
         <h2>You are lucky, user!</h2><p>(<%= num %>)</p>
    <%
        }
    %>
  </body>
</html>

Kami mendapatkan nomor acak, dan jika lebih besar dari 0,95, kami mencetak teks "Anda beruntung, pengguna!"

Kode Java disorot di sini dengan warna biru . Normal (tidak disorot) - kode HTML, dan merah - tag layanan , yang membantu memahami di mana kode Java dan di mana HTML berada.

Apakah Anda memperhatikan sesuatu yang aneh? Kurung kurawal penutup "}"ada di "code block". Apa cara yang benar untuk menulis kode seperti itu? Bagaimana cara kerjanya?

Jawabannya akan sangat sederhana :)

Server web, setelah menemukan file JSP, mengkompilasinya menjadi servlet klasik. Berdasarkan halaman JSP di atas, Servlet ini akan dihasilkan:

public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)  throws Exception {
    PrintWriter out = response.getWriter();
    out.print("<html> ");
    out.print("<body>");
        double num = Math.random();
        if (num > 0.95) {
            out.print("<h2>You're lucky user! </h2><p>(" + num + ")</p>");
        }
    out.print("</body>");
    out.print("</html>");
    }
}

Wadah web baru saja menghasilkan kode servlet, di mana HTML berubah menjadi teks dan sisipan kode Java menjadi kode Java biasa!

Komentar
  • Populer
  • Baru
  • Lama
Anda harus login untuk memberikan komentar
Halaman ini belum memiliki komentar