Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Libro di Java Web!

  1. #1
    Utente di HTML.it L'avatar di Soy
    Registrato dal
    Jul 2009
    Messaggi
    4

    Libro di Java Web!

    Salve a tutti,

    in questo periodo sto seguendo un corso di Java in ambito Web, orientato quindi verso le servlet, JSP ecc..
    Volevo chiedere se mi potete dare qualche titolo di libro da comprare per affrontare al meglio questo corso.

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Libro di Java Web!

    Originariamente inviato da Soy
    in questo periodo sto seguendo un corso di Java in ambito Web, orientato quindi verso le servlet, JSP ecc..
    Volevo chiedere se mi potete dare qualche titolo di libro da comprare per affrontare al meglio questo corso.
    Innanzitutto ci sono i libri:
    Core Servlets and JavaServer Pages
    More Servlets and JavaServer Pages
    Che anche se non sono recentissimi hanno un lato molto positivo, ovvero sono gratuiti.

    Altri libri (non gratis) che potrebbero interessarti sono:
    Murach's Java Servlets and JSP (2nd Edition)
    Head First Servlets and JSP, Second Edition

    Quest'ultimo però è più utile per passare la certificazione SCWCD.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    io ti consiglierei questo:
    http://www.informatica.mcgraw-hill.i...p?item_id=2174


    semplicemente perché suggerisce il modello di sviluppo che si sta affermando negli ultimi anni. Non è un libro per principianti, si presuppone che tu sappia già programmare in java e conosci già il web. Non è necessaria una conoscenza pregressa di jsp e servlet ma un infarinatura di base di xml e html si.
    Personalmente ti suggerisco di lasciar perdere le jsp e di concentrarti su jsf + facelet. Le motivazioni di questa scelta sono che jsp soffre di molti difetti che sono stati appianati nelle facelet di cui poi jsf è il naturale complemento.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da kuarl
    Personalmente ti suggerisco di lasciar perdere le jsp e di concentrarti su jsf + facelet. Le motivazioni di questa scelta sono che jsp soffre di molti difetti che sono stati appianati nelle facelet di cui poi jsf è il naturale complemento.
    Non conosco nei dettagli JSF ma da quello che so, quando si usa JSF alla fin fine si scrivono poi delle normali pagine JSP .... solo che si usano delle tag library specifiche di JSF.
    E questo comunque porta al solito concetto che non mi stancherò mai di ripetere: che nell'informatica (come in altre discipline) è necessario farsi e avere delle basi solide. Se uno es. non conosce il "ciclo di vita" di una servlet o non conosce come viene tradotta una pagina JSP in servlet o non sa cosa c'è nel DD (web.xml) e nemmeno come mappare una servlet o ancora non sa come fare un "forward" da una servlet ad una JSP .... direi che è del tutto inutile andare a studiare JSF, Struts o quant'altro.

    Ripeto che ci vogliono le basi. E per averle è necessario partire con lo studio di cose più basilari e progredire (più o meno velocemente a seconda di ognuno) man mano verso argomenti più complessi. Leggendo molto e facendo anche molta "pratica".

    Ad uno che vuole acquistare la sua prima auto, tu in pratica diresti: no non prendere una cinquecento o una punto ... prendi direttamente una bmw, tanto è una normale evoluzione dell'auto e supera i limiti delle altre. Grazie ....
    No, così non si va mai molto lontano .....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    allora allora

    jsf non è un tag lib di jsp. JSF non sostituisce jsp ma lo complementa. JSP si occupa solo del rendering delle pagine, JSF invece ne gestisce tutto il ciclo di vita mettendo le mani sullo strato di controllo! Ciò che in JSP prende il nome di custom tag, in JSF prende il nome di componente che è un concetto più ampio che comprende anche il modo con cui viene fatto il rendering, ma non solo! Il rendering della pagina poi jsf lo delega o a jsp o altre tecnologie alternative quali le facelet, ma jsf non è un motore di rendering ne tantomeno un taglib di jsp!

    Quindi cos'è jsp? jsp è un motore di rendering basato su xml, è un sistema cioè che traduce tag xml custom in codice html, permettendo una certa mescolanza con il codice java. Non c'è molto altro da dire, è inutile impararsi taglib e dettagli particolari quando poi nella pratica si dovrà buttarlo via. Le basi? beh, le basi sono il modello di sviluppo MVC, e jsp rappresenta solo la Vista, e lo fa in malo modo.


    Perché è male? per via della sua struttura interna. JSP compila le pagine in servlet, che bisogno c'è? se c'è un errore anche banale in una pagina quello che hai è il cosidetto stack trace from hell, vale a dire un messaggio di errore incomprensibile perché si riferisce al bytecode generato dalla servlet compilata. Questa sua struttura rigida ostacola anche la possibilità di fare reimpasti efficienti e composizioni di pagine utilizzando più template jsp. Comporre una pagina utilizzando 4 o 5 template jsp equivale ad eseguire 4 o 5 servlet, uno spreco di risorse mostruoso! Tant'è che lo sviluppo stesso di jsp è stato fortemente rallentato e a partire dalla prossima versione di j2ee verrà sostituito con le facelet.


    Ricapitolando, cos'è jsp? un motore di rendering con grossi difetti strutturali. Cosa c'è di alternativo? le facelet e le tiles. Le facelet sono state scelte come l'ufficiale erede di jsp e sarebbe il caso di iniziare a guardarle fin da ora. Da un punto di vista teorico ma anche pratico quindi facelet e jsp sono del tutto equivalenti, cambia la struttura interna.


    Entrando nel vivo della seconda parte del discorso, le servlet. Un neofita è bene che conosca cos'è e qual'è il suo ciclo di vita, una roba che si riassume in un paragrafo, non c'è bisogno di un intero libro. Perché? per le ragioni di sopra, nella pratica le servlet dure e pure non si usano più, ma si usano dei framework un minimo più evoluti che si basano su di loro. Quali sono questi framework? il più semplice è appunto java server faces, che introduce un sistema minimale per la gestione di un sito web. Se si vuole qualcosa di più evoluto poi ci sono struts, seam e compagnia bella che le inglobano ed estendono, ma la base non cambia.

    In definitiva, lo sviluppo moderno e futuro delle applicazioni web in ambito java ruota attorno alle java server faces. Esse poggiano su servlet e jsp (che è a fine vita) e gestiscono lo strato di controllo e di presentazione di un applicazione web. Per comprendere al meglio jsf è quindi necessario sapere cosa sono le servlet e le jsp a livello teorico, ma è inutile comprarsi interi libri che le trattano, semplicemente perché sviluppare ad un livello così basso non conviene più.


    Da qui il mio consiglio del libro sopra citato, li imparerai a gestire tutto il ciclo di vita di un applicazione web, tutto. Non hai bisogno di altre conoscenze su tecnologie come appunto jsp e servlet che non siano già presenti al suo interno.


    Morale della favola, le basi sono importanti, ma è ben più importante avere un percorso di studi coerente. Come la prendereste se dopo mesi di studio un professore vi dice che tutto ciò che avete fatto negli ultimi tempi non viene più usato perché sbagliato o inutile e che dovete tenere a mente ciò che è stato detto solo nei primi due giorni di lezione?

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.