JSP - Servlet informazioni basilari

di il
8 risposte

JSP - Servlet informazioni basilari

Salve a tutti avrei bisogno di alcune informazioni riguardante JSP e Servlet. 

Purtroppo nel corso che sto frequentando da full stack stiamo andando un pò a rilento ed alcune cose le stiamo saltando e benchè abbia capito la sintassi di una JSP non ho benchiaro  alcuni punti.

Ho provato a dar una cerca online ma non ho trovato le informazioni che cercavo.

1- Ho capito che  le JSP sono dei pezzi di html con codice java che all'occorrenza vengono chiamate dalle servlet (che le converte etc etc) e le rimanda al browser. Essendoci parti di html mi chiedevo se quindi  devo curare ancche la grafica la UI/UX etc?

2-Se punto 1 è si : quindi non scappo dalla fottuta grafica in nessun modo manco facendo back end?

3- Non ho capito, quando esattamente viene chiamato un servlet, ogni qualvolta c'e un interrogazione del client?  Facendo un esempio pratico se io devo richiamare un array di prodotti dal mio serveer , sto  eseguendo una richiesta dal client al server, quest'ultim oattiva una servlet per accedere ai dati, raccoglierli tramite query con jsp  e rimandarmeli??  Perchè fin ora  lato front end usavamo il json server per simulare e lui rispediva un json stringify quindi no nsto capendo come funzioni nella realtà XD 

4- ma sono ancora utilizzati questi metodi o ce li stanno facendo vedere solo per poi portarci a capire meglio spring ? (che sarà ultimo modulo), inteso quanto ha senso approfondire questo argomento in ottica di trovare lavoro da junior appena uscito da un corso? 

Come sempre grazie tantissimo.

8 Risposte

  • Re: JSP - Servlet informazioni basilari

    Cercherò di rispondere punto su punto:

    1- Ho capito che  le JSP sono dei pezzi di html con codice java che all'occorrenza vengono chiamate dalle servlet (che le converte etc etc) e le rimanda al browser. Essendoci parti di html mi chiedevo se quindi  devo curare ancche la grafica la UI/UX etc?

    Ovviamente sì. Anche se non strettamente necessario, generalmente il flusso di una richiesta segue questo iter (in realtà può essere molto più complesso perchè ci possono essere dei filtri, ecc… ma semplifichiamo):

    Client richiede una risorsa (URL) -- > Il Servlet Container passa la richiesta ad una Servlet -- > La servlet elabora i dati (effettua i check necessari, interroga la base dati per recuperare ciò di cui ha bisogno, ecc) e fa una forward ad una JSP -- > La JSP rappresenta il “font-end”, quindi lei si occupa di impaginare per bene i dati ricevuti per fornirli al client nella response.

    2-Se punto 1 è si : quindi non scappo dalla fottuta grafica in nessun modo manco facendo back end?

    Le JSP, generalmente, sono in carico a chi sviluppa front-end, non back-end.

    3- Non ho capito, quando esattamente viene chiamato un servlet, ogni qualvolta c'e un interrogazione del client?  Facendo un esempio pratico se io devo richiamare un array di prodotti dal mio serveer , sto  eseguendo una richiesta dal client al server, quest'ultim oattiva una servlet per accedere ai dati, raccoglierli tramite query con jsp  e rimandarmeli??  Perchè fin ora  lato front end usavamo il json server per simulare e lui rispediva un json stringify quindi no nsto capendo come funzioni nella realtà XD 

    Come detto in risposta al punto 1, generalmente (anche se non è la norma) quando un client richiede una risorsa, il Servlet Container la passa ad una Servlet. Ti svelo un segreto, comunque: le JSP sono delle Servlet (esse, infatti, vengono convertite in un sorgente Java che rappresenta una classe che estende HttpServlet e compilate al volo).

    Nessuno ti vieta di creare delle Servlet che restituiscono dei dati in JSON, in XML, o altro, invece di restituire una risorsa HTML (o fare una forward ad una JSP, che è sostanzialmente la stessa cosa).

    Nel file web.xml sono dichiarate tutte le Servlet che l'applicazione web usa. E ad ogni servlet vengono mappate una o più “risorse” (URL). Se il cliente richiede una di quelle risorse, il Servlet Container girerà la richiesta alla Servlet… altrimenti si aspetterà che esista un file da servire con il nome della risorsa.

    4- ma sono ancora utilizzati questi metodi o ce li stanno facendo vedere solo per poi portarci a capire meglio spring ? (che sarà ultimo modulo), inteso quanto ha senso approfondire questo argomento in ottica di trovare lavoro da junior appena uscito da un corso? 

    C'è chi li usa ancora e chi no. Dipende dall'azienda per cui ti troverai a lavorare e dal progetto specifico sul quale lavorerai.

  • Re: JSP - Servlet informazioni basilari

    04/06/2024 - Paldemar ha scritto:


    Essendoci parti di html mi chiedevo se quindi  devo curare ancche la grafica la UI/UX etc?

    Non necessariamente: da tempo il linguaggio HTML è stato “scremato” dalla parte di presentazione diventando sempre più “semantico”, ovvero incentrato a dare la struttura della pagina, piuttosto che la sua formattazione, che viene fatta invece con i CSS.

    Quello che dovresti quindi possedere sono basi di creazione corretta delle pagine HTML per favorire il compito a un eventuale “Designer”, che puoi essere tu o un'altra persona, il quale creerà CSS oppure HTML+CSS per riprodurre i contenuti così come progettati.

    Come sviluppatore backend, se quello è l'obiettivo, il tuo compito principale sarà organizzare quelle parti in “componenti” o nelle “scatole” del framework che utilizzi (lato server in questo caso) per poter renderizzare l'interfaccia così come è stata pensata.

    04/06/2024 - Paldemar ha scritto:


    quindi non scappo dalla fottuta grafica in nessun modo manco facendo back end?

    Una infarinatura dovresti sempre averla. Il mondo frontend che abbraccia JavaScript, librerie e framework è comunque molto più vasto, e non è solamente una questione di UI, ai quali anche i frontendisti si devono attenere, se parliamo della mera progettazione grafica.

    04/06/2024 - Paldemar ha scritto:


    sto  eseguendo una richiesta dal client al server, quest'ultim oattiva una servlet per accedere ai dati, raccoglierli tramite query con jsp  e rimandarmeli??

    Esattamente. La servlet risponde alla richiesta eseguendo codice che elabora i parametri e restituisce la pagina da visualizzare, oppure i dati in formato JSON/XML per essere trattati direttamente dal client, che in quel caso è responsabile della generazione della pagina.

    04/06/2024 - Paldemar ha scritto:


    Perchè fin ora  lato front end usavamo il json server per simulare e lui rispediva un json stringify quindi no nsto capendo come funzioni nella realtà XD

    La restituzione del JSON avviene quando il server non produce la pagina pronta, ma fornisce solo i dati a un'applicazione client (es. una Single Page Application) che li utilizza per generare dinamicamente la UI nel browser o comunque nel device di destinazione.

    Gli approcci si usano entrambi, a seconda dei requisiti e delle necessità.

    04/06/2024 - Paldemar ha scritto:


    ma sono ancora utilizzati questi metodi o ce li stanno facendo vedere solo per poi portarci a capire meglio spring ?

    Sono largamente utilizzati, ma anche se non lo fossero, sarebbero comunque importanti per capire come funzionano certi meccanismi che, pur se implementati in modo diverso, hanno equivalenze dirette in librerie e framework utilizzate al giorno d'oggi. In breve, approfondisci tutto, perché ogni cosa ti tornerà senz'altro utile, al netto di come vorrai specializzarti in seguito.

    Buono studio!

  • Re: JSP - Servlet informazioni basilari

    Grazie ad entrambi per le risposte tempestive! 

    Allora io ho un infarinatura di grafica, non ho problemi a scrivere css o scss (in realtà il mio secondo progetto d'esame l'ho fatto tutto in sass)  il mio problema, grande, è nel design grafico, non ho gusti :P la mia grafica fa sempre pena, mentre la mia parte di codice logico (javascript nei moduli da front endista) era sempre molto raffinata  e profonda. Da questo ho deciso di terminare con angular e poi spsotarmi nel blocco SQL e java(SE,EE,Spring) e docknet, pero ecco quando han fatto vedere il ritorno idell'html me preso un accidente perchè ho subito pensato che mi toccav afare grafica e design ad ottimo livello anche qui :P 

    Per il resto, sisi le studio era per capire se avesse un senso o no, purtroppo la mia curiosità mi porta a studiare qualsiasi cosa che mi ritrovo davanti e che mi affascini , pero il tempo è poco :P 

    In generale ora mi è un pò più chiaro l'argomento., e che ho provato a cercare materiale su youtube ma non ho trovato nulla di aggiornato.

    di nuovo, grazie:D 

  • Re: JSP - Servlet informazioni basilari

    04/06/2024 - Paldemar ha scritto:


    Da questo ho deciso di terminare con angular e poi spsotarmi nel blocco SQL e java(SE,EE,Spring) e docknet, pero ecco quando han fatto vedere il ritorno idell'html me preso un accidente perchè ho subito pensato che mi toccav afare grafica e design ad ottimo livello anche qui :P 

    Se il tuo lavoro sul backend riguarda essenzialmente Web API, ossia applicazioni lato server che restituiscono dati, dell'interfaccia non ti dovrai occupare troppo.

  • Re: JSP - Servlet informazioni basilari

    Sisi ovviamente do per assodato che mi prendano come back end…. lo spero almeno XD

    o se proprio devo far front end mi facciano fare la parte logica che io e la grafica litighiamo attivamente da 7 mesi XD 
    Grazie ancora

  • Re: JSP - Servlet informazioni basilari

    Partendo dal l'ipotesi che chi programma il frontend sia una capra (spesso non lontano dal vero), va da sé che dovrai implementare ANCHE un FE minimale, se non altro per TESTARE che la comunicazione funzioni.

    un FE minimale (ma NON per questo meno potente) lo puoi realizzare con

    backbone. js

    https://backbonejs.org/

    jqwidgets

    https://www.jqwidgets.com/

  • Re: JSP - Servlet informazioni basilari

    Mi hai ucciso sul “spesso non lontano dal vero” XD XD 

    vabe si dai un po posso starci, ogni tanto… a tempo perso per rilassarsi un po :P :P

  • Re: JSP - Servlet informazioni basilari

    Realizzare un'interfaccia utente ben organizzata (e che SEMBRI semplice) e TUTT'ALTRO che semplice. 

    E' incasinata TANTO QUANTO il backend. 

    Il che implica che c'e' una relazione 1:1 tra la complessita' del BE e quella del FE

    E la cosa è pure peggio di così SE si vuole un FE che nasconda la complessita del BE.

Devi accedere o registrarti per scrivere nel forum
8 risposte