1.1 Pambuka kanggo JSP

Ana rong cara populer kanggo nulis servlet: imperatif lan deklaratif . Kita wis ngrampungake sing pertama - iki, nyatane, Servlet. Kapindho diarani JSP (Java Server Pages), lan kita bakal kenal saiki.

Tuladha Servlet JSP:


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

Ora meh padha karo Servlet klasik sing wis biasa, ta? Iki bener. JSP minangka kaca HTML kanthi sisipan kode Java (disorot nganggo warna ijo) .

Sampeyan ndeleng, yen sampeyan duwe akeh kode Java ing servlet lan kode HTML sethitik, sampeyan luwih nyaman nggunakake servlet klasik . Nanging apa yen sampeyan butuh kaca HTML gedhe sing mung sawetara baris diganti dening server?

Ing kasus iki, sing paling gampang yaiku nggawe kaca HTML iki lan nglakokake kode Java ing server kasebut.

1.2 Kompilasi JSPs

Ayo ndeleng conto liyane:


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

We njaluk nomer acak, lan yen luwih saka 0,95, kita print teks "Sampeyan begja, pangguna!"

Kode Jawa disorot ing kene nganggo warna biru . Normal (ora disorot) - kode HTML, lan abang - tag layanan , sing mbantu ngerti ngendi kode Jawa lan ing ngendi HTML.

Apa sampeyan weruh sing aneh? Kurung kriting tutup "}"ana ing liyane "code block". Apa cara sing bener kanggo nulis kode kasebut? Carane malah bisa?

Jawaban bakal super prasaja :)

Server web, sawise nemokake file JSP, nglumpukake dadi servlet klasik. Adhedhasar kaca JSP ing ndhuwur, Servlet iki bakal diasilake:

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 mung nggawe kode servlet, ing ngendi HTML dadi teks lan sisipan kode Jawa dadi kode Jawa biasa!