CodeGym /Java курс /Модул 3 /JSP файлова структура

JSP файлова структура

Модул 3
Ниво , Урок
На разположение

2.1 JSP директиви

Тъй като разбрахме, че JSP файлът се преобразува в обикновен сървлет, тогава можете да пишете нормален Java code в него. И в този Java code можете да използвате различни класове (Math от примера). Това е още по-добре! Но можем да видим, че целият code е преместен в doGet()метод на сервлет. И това веднага повдига няколко въпроса:

  • Как да направя така, че codeът да се премести в метода doPost()?
  • Как да добавите свой собствен code към метода init()?
  • Как в крайна сметка да регистрирам импортиране на клас?

Страхотни въпроси и, разбира се, имат отговор - JSP директиви. Всички не-HTML codeове в JSP трябва да бъдат затворени в специални скоби <%и %>. Всички JSP директиви са дадени от шаблон:

<%@ directive %>

Ето списък на най-популярните атрибути на директиви за страници:

Пример Описание
1 импортиране <%@ page import="java.util.Date" %> Импортира клас
2 тип съдържание <%@ page contentType=text/html %> Задава contentType
3 се простира <%@ page extends="Object" %> Можете да зададете базовия клас
4 инфо <%@ page info="Author: Peter Ivanovich; version:1.0" %> Задава данни за getServletInfo()
5 буфер <%@ page buffer="16kb" %> Задава размера на буфера за отговор
6 език <%@ page language="java" %> Указва езика, по подразбиране е Java
7 isELIgnored <%@ page isELIgnored="true" %> Позволява ви да деактивирате EL скриптове
8 isThreadSafe <%@ page isThreadSafe="false" %> Сочи към безопасен за нишки
9 autoFlush <%@ page autoFlush="false" %> Управлява записите в буфера
10 сесия <%@ page session="false" %> Можете да деактивирате сесията за pageта
единадесет pageEncoding <%@ page pageEncoding="UTF-8"%> Можете да зададете codeирането на pageта
12 errorPage <%@ page errorPage="errorpage.jsp" %> Можете да зададете page за грешка

2.2 Внос

Нека добавим няколко импортирания към нашия JSP файл за забавление и дефинираме базов клас.

Пример за 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> 

И ето Howво ще излезе от това:

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> ");
    }
}

Върши работа. Страхотен!

Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION