JavaRush /Курстар /All lectures for KK purposes /JSP-файл құрылымы

JSP-файл құрылымы

All lectures for KK purposes
Деңгей , Сабақ
Қол жетімді

2.1 JSP-директивтер

JSP-файл кәдімгі сервлетке айналатынын білдік қой, осылайша онда кәдімгі Java-код жазуға болады. Ал бұл Java-кодта әртүрлі кластарды қолдануға болады (мысалы, Math класы). Бұл тіпті жақсы ғой! Бірақ біз барлық код doGet() әдісіне көшірілгенін көреміз. Бұдан бірден бірнеше сұрақ туындайды:

  • Кодты doPost() әдісіне қалай көшіруге болады?
  • init() әдісіне өз кодымды қалай қосамын?
  • Сонымен қатар кластарды қалай импорттаймыз?

Өте жақсы сұрақтар, және, әрине, оларға жауап бар — JSP-директивтер. JSP ішіндегі барлық HTML емес код арнайы жақшаларға <% және %> қоршалған болуы керек. Барлық JSP-директивтер шаблонмен беріледі:


        <%@ directive %>
        

Бет директивасының ең танымал атрибуттарының тізімі төменде:

Мысалы Сипаттама
1 import <%@ page import="java.util.Date" %> Классты импорттайды
2 contentType <%@ page contentType=text/html %> contentType-ті белгілейді
3 extends <%@ page extends="Object" %> Базалық класс белгілеуге болады
4 info <%@ page info="Авторы: Петір Иванович; нұсқасы:1.0" %> getServletInfo() үшін деректерді белгілейді
5 buffer <%@ page buffer="16kb" %> Жауап буферінің көлемін белгілейді
6 language <%@ page language="java" %> Тіл белгілейді, әдетте Java
7 isELIgnored <%@ page isELIgnored="true" %> EL скрипттерін өшіруге мүмкіндік береді
8 isThreadSafe <%@ page isThreadSafe="false" %> threadsafe анықтайды
9 autoFlush <%@ page autoFlush="false" %> Буферге жазуды басқарады
10 session <%@ page session="false" %> Бетке сессияны өшіруге болады
11 pageEncoding <%@ page pageEncoding="UTF-8"%> Беттің кодировкасін белгілеуге болады
12 errorPage <%@ page errorPage="errorpage.jsp" %> Қателер үшін бетті белгілеуге болады

2.2 Импорттар

Қызық үшін біздің JSP-файлға бірнеше импорттарды қосып, базалық класты белгілейік.

JSP-файл мысалы:


 <%@ page import="java.util.Date" %> <%@ page import="java.lang.Math" %> <%@ page extends="com.javarush.MyHttpServlet" %> 
 
    <html> 
    <body> 
 <%
 double num = Math.random(); if (num > 0.95) {
 %>
         <h2>Бақыттысың, user!</h2><p>(<%= num %>)</p>
 <%
 }
 %> 
  </body> 
   </html> 

Ал, осылай шығады:


import java.util.Date;
import java.lang.Math;
 
public class HelloServlet extends com.javarush.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> Бақыттысың, user! </h2> <p> (" + num + ")</p> ");
        }
    out.print("</body> "); 
    out.print("</html> "); 
    }
}

Жұмыс істеп тұр. Керемет!

Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION