2.1 Arahan JSP

Memandangkan kami mendapati bahawa fail JSP ditukar menjadi servlet biasa, maka anda boleh menulis kod Java biasa di dalamnya. Dan dalam kod Java ini, anda boleh menggunakan pelbagai kelas (Math dari contoh). Ini lebih baik! Tetapi kita dapat melihat bahawa semua kod telah dipindahkan ke doGet()kaedah servlet. Dan ini segera menimbulkan beberapa persoalan:

  • Bagaimana untuk membuatnya supaya kod itu dipindahkan ke kaedah doPost()?
  • Bagaimana untuk menambah kod anda sendiri kepada kaedah init()?
  • Bagaimanakah akhirnya untuk mendaftar import kelas?

Soalan yang hebat, dan, sudah tentu, mereka mempunyai jawapan - arahan JSP. Semua kod bukan HTML dalam JSP mesti disertakan dalam kurungan khas <%dan %>. Semua arahan JSP diberikan oleh templat:

<%@ directive %>

Berikut ialah senarai atribut arahan halaman yang paling popular:

Contoh Penerangan
1 import <%@ page import="java.util.Date" %> Mengimport kelas
2 jenis kandungan <%@ page contentType=text/html %> Menetapkan contentType
3 memanjang <%@ page extends="Object" %> Anda boleh menetapkan kelas asas
4 info <%@ page info="Author: Peter Ivanovich; version:1.0" %> Menetapkan data untuk getServletInfo()
5 penampan <%@ page buffer="16kb" %> Menetapkan saiz penimbal tindak balas
6 bahasa <%@ page language="java" %> Menentukan bahasa, lalai ialah Java
7 diketepikan <%@ page isELIgnored="true" %> Membolehkan anda melumpuhkan skrip EL
8 isThreadSafe <%@ page isThreadSafe="false" %> Titik kepada threadsafe
9 autoFlush <%@ page autoFlush="false" %> Menguruskan penulisan penimbal
10 sesi <%@ page session="false" %> Anda boleh melumpuhkan sesi untuk halaman
sebelas pengekodan halaman <%@ page pageEncoding="UTF-8"%> Anda boleh menetapkan pengekodan halaman
12 errorPage <%@ page errorPage="errorpage.jsp" %> Anda boleh menetapkan halaman ralat

2.2 Import

Mari tambahkan beberapa import pada fail JSP kami untuk keseronokan dan tentukan kelas asas.

Contoh fail JSP:


    <%@ page import="java.util.Date" %> 
    <%@ page import="java.lang.Math" %> 
    <%@ page extends="com.codegym.MyHttpServlet" %> 
 
    <html> 
    <body> 
    <%
        double num = Math.random();
        if (num > 0.95) {
     %>
         <h2>You are lucky, user!</h2><p>(<%= num %>)</p>
    <%
    }
    %> 
  </body> 
   </html> 

Dan inilah yang akan datang daripadanya:

import java.util.Date;
import java.lang.Math;

public class HelloServlet extends com.codegym.MyHttpServlet {
    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> ");
    }
}

Berfungsi. Hebat!