Cosa imparare per creare applicazioni Web Java in Java EE 6? [chiuso]


103

Il mio obiettivo è creare applicazioni web!

Ho finito di leggere i libri "Headfirst - Java" e "Headfirst - Servlets and JSP".

Poiché questo argomento (applicazioni web) è così vasto e complicato, vorrei chiedere cosa dovrei imparare dopo. Mi sento sovraccarico quando leggo slogan come Java EE, EJB, JSF, JPA, Glassfish ... ma non mi arrendo.

Qualcuno può dirmi come devo procedere con l'apprendimento? Dovrei prendere un libro come questo: Inizio della piattaforma Java EE 6 con GlassFish 3: da principiante a professionista o dovrei semplicemente fare alcuni tutorial online?

Grazie!


1
Ho letto i due thread. Ma ancora: nei thread si dice solo "impara Tomcat, JBoss, Hibernate, impara questo o quello, ecc ..." Lancio solo con le parole. Ma voglio sapere quale libro o tutorial specifico dovrei leggere. Forse non esiste un modo simile e devo impararlo "in modo inefficiente" cercando ogni singola parola. Speravo solo di ricevere un consiglio su come procedere.
creativz

1
Ti consiglio di iniziare con Head First Servlet e JSP a condizione che tu abbia una buona conoscenza del core Java. Se non ti senti a tuo agio con Java come linguaggio di programmazione, devi prima metterti le mani su di esso e poi procedere verso lo sviluppo di applicazioni web.
Rachel

22
Tranne che tutte queste domande sono obsolete da quando Java EE 6 è uscito ...
Pascal Thivent

4
@Stephen Beh, in realtà penso che ci sia un grande divario, specialmente nella web part (con Servlet 3.0 o JSF 2.0 e bean gestiti da CDI).
Pascal Thivent

1
Buffo come molte delle domande generali votate da alti come questa siano chiuse come "non costruttive". Direi che sono molto costruttivi, ma non è facile rispondere in modo costruttivo. Aiutano a vedere il quadro più ampio di ciò che si sta facendo o si dovrebbe fare. Ma è bello che siano autorizzati a rimanere su SO.
jackthehipster

Risposte:


174

Anche se so che questo sarà controverso, il mio consiglio sarebbe di iniziare solo con Java EE 6. Quindi, prendi GlassFish v3 e ottieni il libro Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional o segui il tutorial Java EE 6 . A mio parere, il libro (che ho iniziato a leggere quindi so di cosa sto parlando) fornisce ulteriori indicazioni che potrebbero essere preferibili se "tutto" è nuovo per te (copre sia la piattaforma Java EE che le sue API e l'ambiente per creare, distribuire le tue applicazioni).

Ora, come ho detto, posso già sentire voci che dicono cose come "Java EE è pesante, usa invece Spring, impara Struts o Wicket o Stripes per il livello di presentazione, impara Hibernate per la persistenza o no perché non mi piace ORM, usa invece iBatis o JDBC diretto (vedrai, va bene con Spring, Spring is so cooool) e usa Tomcat (e perché no Jetty), o JBoss, o semplicemente dimentica tutto questo e scegli Grails, e bla bla bla ... " .

Ma non penso che questo ti stia davvero aiutando e, senza tutoraggio o guida (e non troverai una risorsa unica non obsoleta che copra tutte le combinazioni), questo deve sembrare molto confuso per un principiante.

Quindi, perché penso che Java EE 6 è un grande miglioramento rispetto alle precedenti versioni di Java EE, perché fornisce davvero bello API standard per tutte le esigenze (Servlet 3.0, JSF 2.0, JPA 2.0, EJB 3.1 lite, Bean Validation 1.0, CDI , ecc), perché queste API sono tutte più che decenti, perché non c'è niente di veramente sbagliato nell'apprenderle, perché questo è già un grosso compito, perché devi iniziare da qualche parte , mi concentrerei solo su Java EE 6 e dimenticherò il altri framework per ora. Più precisamente, inizierei con il profilo Web Java EE 6 (e poi aggiungerei le cose se vuoi andare oltre).

In questo modo, 1) inizierai e imparerai cose nuove di zecca e 2) darai un po 'di tempo a tutti gli altri framework e / o strumenti per adattarsi e dimostrare che ce n'è ancora bisogno. E se c'è, sarà ancora tempo di sperimentare i sopravvissuti e potrai capire molto meglio perché esistono.


3
Grazie. Per quanto riguarda il libro, non l'ho letto interamente, ma lo consiglio vivamente sia agli sviluppatori inesperti che a quelli esperti che desiderano avere una buona panoramica di Java EE 6. Il libro è ben costruito, copre davvero molte API (non molto mancano), ha esempi di codice che dimostrano tutto ciò che viene presentato, sono davvero didattici e consentono di andare in profondità quanto vuoi. Potrebbero esserci libri più mirati in futuro, ma questo è buono.
Pascal Thivent

23
+1, ma la primavera è così bella :-)
ChssPly76

13
Non fraintendermi, Stripes, Spring, Hibernate, ... sono fantastici. Ma troppa scelta può creare confusione quando si scopre qualcosa di nuovo e credo che Java EE 6 ti permetta di iniziare senza di loro.
Pascal Thivent

9
Sono d'accordo con te, è molto importante imparare lo stack JEE anche se non ne usi nessuno, dopotutto quello stack è la linea di base per tutti i favolosi framework che rendono le cose veramente grandi, ad esempio Wicket è costruito sopra il concetto di Front Controller che nel mondo Java significa Servlet e Filtri - se non sai come funzionano, non capirai nemmeno cosa sta facendo Wicket! A meno che tu non accetti "magia!" come risposta, ovviamente.
Esko

13
Più di 4 anni dopo .... cambieresti qualcosa sulla tua risposta?
jlars62

28

Il mio consiglio 1 è di smettere di leggere libri e iniziare a implementare cose. Nella mia esperienza, l'apprendimento del libro è un sostituto scarso della conoscenza che si ottiene facendo effettivamente le cose.


1 - Contesto: questo è un consiglio per chi ha appena finito di leggere due libri sull'argomento e sta cercando più libri da leggere. In pratica è necessario bilanciare la lettura e il fare. Soprattutto se hai un problema specifico che stai cercando di risolvere.


29
Ma potrebbe farti risparmiare giorni di ricerche. Potrebbe anche darti abbastanza conoscenze per rispondere alla domanda invece di chiedere loro e alla fine avere un'alta reputazione qui, non sei d'accordo?
Muhammad Gelbana

6
No, non sono d'accordo. L'OP ha già letto due libri Java / Java EE. È tempo che lui faccia un po 'di programmazione. FWIW, non ho acquisito la maggior parte delle mie conoscenze leggendo libri. Piuttosto l'ho ottenuto PRINCIPALMENTE implementando le cose e facendo riferimento alla documentazione quando ne avevo bisogno. Non impari ad andare in bicicletta leggendo libri ... e non impari nemmeno le abilità di programmazione in questo modo.
Stephen C

3
È importante bilanciare readinge practice.
smwikipedia

9

Java EE 6 è davvero sorprendente. L'unico problema è che ha circa 2 settimane e al momento c'è solo 1 contenitore che offre le sue funzionalità: Glassfish.

Non ho nulla contro Glassfish, lo uso ovunque, in diversi casi di produzione, adoro il prodotto e il progetto.

Detto questo, i dettagli di Java EE 6 non si traducono in Java EE 5. Alcuni lo fanno, molti lo fanno, ma il profilo Web, Servlet 3.0, i nuovi tipi di Bean, JPA 2, ecc. Quelli non ci sono.

Quindi, imparando prima Java EE 6, ti limiti semplicemente a un singolo contenitore. Altri stanno arrivando, ma non sono ancora arrivati.

Tomcat, JBoss, OpenEJB, Glassfish, Jetty, Resin, Geronimo, ecc. Funzionano tutti bene con la specifica Java EE 5 (almeno quelle parti della specifica che supportano, Tomcat non ha EJB per esempio).

Non riesco a pensare a nulla in Java EE 5 che non sia stato portato avanti in Java EE 6. Java EE 6 ha reso opzionali alcuni aspetti molto vecchi, e quelli che semplicemente non impareresti oggi comunque. Java EE 6 ha reso alcune cose di Java EE 5 ancora più semplici (pacchettizzazione in particolare, EJB Lite per esempio).

Impara Java EE 5 ora in modo da poter effettivamente applicare ciò che impari in una varietà di ambienti, piuttosto che imparare Java EE 6 ora e scoprire che potresti non essere in grado di utilizzare molto di ciò che impari.

Nessun singolo libro ti insegnerà ciò che devi sapere. I servlet, ad esempio, sono una buona base, ma per qualsiasi cosa più grande di un paio di pagine o endpoint, ti consigliamo di utilizzare uno dei tanti framework di terze parti, o JSF, e nessun libro copre il core e quindi un framework in cima di quella.

Il tutorial Java EE 5 è utile per mettere le basi, la mia lamentela principale è che non ti mostrano il codice sorgente. Piuttosto si aspettano che tu lo scarichi ed esegui. Non è discusso nel tutorial. Ho trovato che i libri di Head First siano piuttosto buoni.

Per la programmazione web, i Servlet grezzi sono abbastanza importanti solo per comprendere il ciclo di richiesta / risposta, ma non è necessaria una comprensione profonda per passare a un framework di terze parti.

Sono un grande fan di Stripes per un framework di azione (rispetto a un framework di componenti) e il singolo libro di Stripes disponibile è eccellente (rendendo la scelta una scelta facile).

Non posso suggerire un libro sul framework dei componenti e in realtà non ne consiglierei uno subito. I framework dei componenti seppelliscono veramente le strutture di richiesta / risposta principali HTTP. Li seppelliscono per una ragione e guadagnano valore seppellendoli, ma credo che per essere efficaci sia necessario avere una solida comprensione di questi concetti nella fase iniziale. Ecco perché non suggerisco di imparare prima un framework Component.

Il framework JAX-RS REST, incluso in Java EE 6, ma facilmente installabile in Java EE 5 o qualsiasi servlet container, è eccellente. Probabilmente è quello che avrebbe dovuto essere Servlet 3.0. Ma non conosco libri per questo.


2
La domanda è quale sia lo stato dei server delle applicazioni quando si è pronti per la produzione. Se un determinato progetto richiede 6 mesi da adesso, Oracle e JBoss molto probabilmente avranno server conformi a JEE6 e Resin molto probabilmente avrà un server di profilo Web JEE6.
Thorbjørn Ravn Andersen

Bene, JBoss è previsto per dicembre. Oracle è basso. Resin è diventato silenzioso per quanto riguarda l'implementazione del profilo web. Geronimo sceglie il profilo Web con 3.0 (beta). Glassfish è uscito nella 3.0.1 che è davvero carino.
Thorbjørn Ravn Andersen

5

Per Tomcat, leggere il manuale sul sito Web. È molto buono. In particolare, i primi capitoli sull'organizzazione e la distribuzione delle app Web e i capitoli sull'API e sui JSP dei servlet.

Per la primavera, il libro di Manning Spring in Action è molto buono. Allo stesso modo per Hibernate (il libro di Manning), ma penso che Hibernate sia per lo più al di fuori dell'ambito delle webapp. La tua chiamata, però.

Wicket - Manning book anche. Ma in realtà, scrivi il tuo codice front-end in Javascript. Sarà meno doloroso, IMO.


3

Non commenterò altre tecnologie, ma se vuoi imparare Hibernate prendi "Hibernate Made Easy" di Cameron McKenzie (www.hiberbook.com). Vale ogni centesimo. Puoi finire di leggere quel libro in 2 giorni (letteralmente). è come un romanzo e alla fine ti ritrovi a trattare con Hibernate come un semi-professionista.


3

Jpassion fornisce buoni video e materiale per imparare Java EE 6 e altre cose.

Dovresti anche vedere esempi di applicazioni:

  1. Petstore . Richiede Maven, consigliato Glassfish. Scritto da Antonio Goncalves che ha scritto il libro citato .
  2. JBoss Ticketmonster . Richiede Maven e Jboss Forge . Distribuisci in Jboss.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.