CodeGym /Java Course /Module 3 /JSP-bestandsstructuur

JSP-bestandsstructuur

Module 3
Niveau 13 , Les 1
Beschikbaar

2.1 JSP-richtlijnen

Omdat we erachter zijn gekomen dat het JSP-bestand wordt omgezet in een gewone servlet, kun je er normale Java-code in schrijven. En in deze Java-code kun je verschillende klassen gebruiken (Math uit het voorbeeld). Dit is nog beter! Maar we kunnen zien dat alle code is verplaatst naar een doGet()servletmethode. En dit roept meteen verschillende vragen op:

  • Hoe zorg je ervoor dat de code naar de methode wordt verplaatst doPost()?
  • Hoe voeg je je eigen code toe aan de methode init()?
  • Hoe uiteindelijk klasse-import registreren?

Geweldige vragen, en natuurlijk hebben ze een antwoord: JSP-richtlijnen. Alle niet-HTML-code binnen een JSP moet tussen speciale haakjes <%en %>. Alle JSP-richtlijnen worden gegeven door een sjabloon:

<%@ directive %>

Hier is een lijst met de meest populaire kenmerken van paginarichtlijnen:

Voorbeeld Beschrijving
1 importeren <%@ page import="java.util.Date" %> Importeert een klasse
2 contentType <%@ page contentType=text/html %> Stelt contentType in
3 strekt zich uit <%@ page extends="Object" %> U kunt de basisklasse instellen
4 informatie <%@ page info="Author: Peter Ivanovich; version:1.0" %> Stelt gegevens in voor getServletInfo()
5 buffer <%@ page buffer="16kb" %> Stelt de grootte van de responsbuffer in
6 taal <%@ page language="java" %> Specificeert de taal, standaard is Java
7 wordt genegeerd <%@ page isELIgnored="true" %> Hiermee kunt u EL-scripts uitschakelen
8 isThreadSafe <%@ page isThreadSafe="false" %> Verwijst naar threadsafe
9 autoFlush <%@ page autoFlush="false" %> Beheert bufferschrijfbewerkingen
10 sessie <%@ page session="false" %> U kunt de sessie voor de pagina uitschakelen
elf paginaCodering <%@ page pageEncoding="UTF-8"%> U kunt de paginacodering instellen
12 foutPagina <%@ page errorPage="errorpage.jsp" %> U kunt een foutpagina instellen

2.2 Invoer

Laten we voor de lol een paar imports aan ons JSP-bestand toevoegen en een basisklasse definiëren.

JSP-bestand voorbeeld:


    <%@ 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> 

En dit is wat er van komt:

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

Werken. Geweldig!

Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION