Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    [JSP] Scriptlet e direttive

    Ragazzi quando richiamo una pagina JSP e al suo intenro ho un componente "scriptlet", le istruzioni che ho al suo interno vanno nel metodo doXXX che ho nella servlet, e vengono eseguite ad ogni richiesta. Qualcuno può spiegarmi precisamente cosa avviene?

    Inoltre ho letto su un sito che le nelle direttive e quindi nei tag <%@ . . . %> all'interno non abbiamo istruzioni JAVA . . . Anche questa cosa mi risulta poco chiara.

    Grazie anticipatamente.
    Con i sogni possiamo conoscere il futuro...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Java -> Forum "Java".

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Una JSP è una pagina che contiene delle istruzioni (ovvero del codice che deve essere eseguito per produrre il risultato finale, ovvero la pagina HTML che verrà poi inviata al client).

    Le istruzioni possono essere composte da scriptlet Java (ovvero, del vero e proprio codice Java), oppure da alcuni tag particolari facenti parte di librerie apposite (tipo JSTL).

    Quindi, un primo punto lo abbiamo fermato: all'interno dei tag <% e %> c'è sempre del codice Java.

    Quello che è da capire è che una pagina JSP rappresenta in tutto e per tutto una Servlet. Quello che accade è questo.

    1) Viene richiesta una pagina JSP
    2) Il Servlet Container (diciamo Tomcat, ad esempio) prende la pagina JSP e la traduce di una Servlet (puro codice Java), se già non è stato fatto precedentemente.
    3) La Servlet prodotta al punto precedente viene compilata al volo, e viene prodotto un file .class con tante istruzioni di scrittura su un OutputStream (sempre se non è già stato fatto precedentemente).
    4) Il file .class viene eseguito dalla JVM che esegue il Servlet Container.
    5) Tutte le istruzioni di scrittura sull'OutputStream costituiscono, quindi, la risposta che viene inviata al browser (ovvero, la pagina HTML)

    Dato che la JSP viene "convertita" in Servlet, essa possiederà i metodi doGet() e doPost(). Uno di questi due metodi verrà invocato a seconda che la richiesta sia GET o POST.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Riguardo alle direttive, sai rispondermi?
    Con i sogni possiamo conoscere il futuro...

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da LeleFT
    Quindi, un primo punto lo abbiamo fermato: all'interno dei tag <% e %> c'è sempre del codice Java.
    Mi quoto.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Scusami, con i tag <% .. %> indichiamo che stiamo scrivendo uno scriptlet, mentre le direttive vanno specificate con un altro tag: <%@ . . . %>
    Con i sogni possiamo conoscere il futuro...

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da gaten
    Scusami, con i tag <% .. %> indichiamo che stiamo scrivendo uno scriptlet, mentre le direttive vanno specificate con un altro tag: <%@ . . . %>
    Sì, con il tag <%@ si inizia una direttiva... essendo una direttiva, è un'istruzione particolare che prende determinati parametri ed effettua determinate operazioni.

    <%@import serve ad importare un determinato package (come la direttiva "import" di Java)
    <%@include serve a incorporare un'altra pagina JSP
    <%@taglib serve a dichiarare l'uso di una libreria di tag

    ecc.

    Sono "particolari" istruzioni che servono a svolgere un determinato compito.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.