2.1 JSP yönergeleri
JSP dosyasının normal bir sunucu uygulamasına dönüştürüldüğünü öğrendiğimize göre, içine normal Java kodu yazabilirsiniz. Ve bu Java kodunda, çeşitli sınıfları kullanabilirsiniz (Örnekten Matematik). Bu daha da iyi! doGet()
Ancak tüm kodun bir servlet yöntemine taşındığını görebiliriz . Ve bu hemen birkaç soruyu gündeme getiriyor:
- Kodun yönteme taşınması için nasıl yapılır
doPost()
? - Yönteme kendi kodunuzu nasıl eklersiniz
init()
? - Sonunda sınıf ithalatı nasıl kaydedilir?
Harika sorular ve elbette bir cevapları var - JSP direktifleri. Bir JSP içindeki tüm HTML olmayan kodlar özel parantezler <%
ve %>
. Tüm JSP yönergeleri bir şablon tarafından verilir:
<%@ directive %>
En popüler sayfa yönergesi niteliklerinin listesi aşağıdadır:
Örnek | Tanım | ||
---|---|---|---|
1 | içe aktarmak | <%@ page import="java.util.Date" %> |
Bir sınıfı içe aktarır |
2 | içerik türü | <%@ page contentType=text/html %> |
ContentType'ı ayarlar |
3 | uzanır | <%@ page extends="Object" %> |
Temel sınıfı ayarlayabilirsiniz |
4 | bilgi | <%@ page info="Author: Peter Ivanovich; version:1.0" %> |
getServletInfo() için verileri ayarlar |
5 | tampon | <%@ page buffer="16kb" %> |
Yanıt arabelleğinin boyutunu ayarlar |
6 | dil | <%@ page language="java" %> |
Dili belirtir, varsayılan Java'dır |
7 | isELIgnored | <%@ page isELIgnored="true" %> |
EL betiklerini devre dışı bırakmanıza izin verir |
8 | isThreadSafe | <%@ page isThreadSafe="false" %> |
threadsafe için puan |
9 | otomatik Yıkama | <%@ page autoFlush="false" %> |
Tampon yazma işlemlerini yönetir |
10 | oturum | <%@ page session="false" %> |
Sayfa için oturumu devre dışı bırakabilirsiniz. |
on bir | sayfaKodlama | <%@ page pageEncoding="UTF-8"%> |
Sayfa kodlamasını ayarlayabilirsiniz |
12 | hatalı sayfa | <%@ page errorPage="errorpage.jsp" %> |
Bir hata sayfası ayarlayabilirsiniz |
2.2 İthalat
Eğlence olsun diye JSP dosyamıza birkaç import ekleyelim ve bir temel sınıf tanımlayalım.
JSP dosyası örneği:
<%@ 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>
Ve bundan çıkacak olan şudur:
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> ");
}
}
İşler. Harika!
GO TO FULL VERSION