Qual è il miglior percorso o flusso per imparare java dal punto di vista del sito web


Ho appena iniziato ad imparare java e ho circa 8 mesi di tempo. Il mio obiettivo principale è quello di costruire applicazioni web utilizzando java. Ma poiché ci sono molte tecnologie/framework java disponibili, sono conufuso come dovrei andare IDE che sto usando è eclipse

Il percorso che sto pensando è sotto

1)Learn Core Java
2)Project: Build Java Invoicing System with JDBC or mysql to test java knowledge

3)Learn Servlets / JSP to 
4)Build small site like simple logon/memberarea/catalogue using servlets/jsp

Ora ragazzi non so davvero dove stanno le seguenti cose nel mio percorso e quali cose aiuteranno

1)Java EE
2)Spring or spring MVC, what's the difference?
3)Hibernate
4)Wicket
5)Struts

Davvero non so come dovrei imparare quelle e quali cose tra cui scegliere.

Quale dovrebbe essere il mio progetto finale che può essere costruito usando quelli perché se vedo dal mio stadio attuale anche il sito Web può essere costruito usando servlet/jsp. allora perché ho bisogno di quelle altre tecnologie

Qualcuno può dare un esempio di un progetto che può essere costruito usando le nuove tecnologie e non usando jsp/servlet, in modo da poter avere un'idea del perché ne abbiamo bisogno?

Author: Arjan Tijms, 2011-01-08

4 answers

C'è un sacco di cose da imparare qui, quindi lo prenderei un po ' alla volta. Assumerò che tu sia relativamente a tuo agio con il linguaggio Java e le API principali.

Prima conoscere JDBC e database. Ottieni un'app di esempio JDBC funzionale di base funzionante (non visiva solo un'app Java vanilla) che legge / inserisce/aggiorna / elimina alcuni record in una tabella. Questo vi darà la base per la costruzione di qualsiasi applicazione si sceglie. Quasi tutte le applicazioni interessanti coinvolgono una sorta di persistenza / database.

Impara le principali API JDBC (Connection, PreparedStatement, ResultSet) e scrivi del codice che le usi per essere comodo.

Scopri come funzionano le transazioni nei database se non hai già familiarità e come le usa JDBC (Connessione.commit e rollback)

Successivamente potresti esaminare il framework spring. Questo ha diverse funzioni utili che sono utili quando si costruiscono queste applicazioni. I principali per conoscere la dipendenza funzionalità di iniezione e le librerie JDBC che ha. La roba dell'ISPETTORE è un po '"duh"? se non l'hai usato prima, ma è molto utile/potente soprattutto per le app di medie dimensioni. Le librerie JDBC aiutano a gestire le API JDBC non elaborate e rendono il codice meno soggetto a errori.

Una volta che hai elaborato alcune cose di base di JDBC e Spring, puoi iniziare a introdurre un framework web.

Questo è più difficile perché ce ne sono così tanti. Nell'interesse di ottenere qualcosa in fretta e funzionante probabilmente andrei con Wicket. Funziona all'interno di un contenitore servlet come Jetty, facile da ottenere installato e funzionante con una pagina web di base o due e relativamente facile da evolvere del progetto nel tempo senza scendere troppi vicoli ciechi. Ho scoperto che framework come JSF (il framework web/view predefinito Java EE) richiedono un sacco di investimenti in anticipo per andare avanti. La maggior parte di questi framework, incluso Wicket, può sfruttare le cose primaverili che hai sopra.

Evita JSP, è una tecnologia spiacevole e obsoleta praticamente da tutto il resto.

Per rispondere ad alcuni dei tuoi altri punti.

Hibernate è uno strumento per mappare un modello a oggetti in un modello relazionale. Nella sua forma più semplice si definisce una classe Java per ogni tabella DB con la classe che ha una proprietà Java (variabile+getter+setter) per ogni colonna DB. È inoltre possibile aggiungere riferimenti da una classe a un'altra per modellare le relazioni di database. È buono ma ci vuole un po di ci stiamo abituando.

Primavera Ho spiegato in parte sopra. La primavera è molto più grande di DI e di alcune librerie JDBC. Ha anche librerie di gestione delle transazioni e un sacco di altre cose. Spring MVC è un framework web che vive sotto l'ombrello di spring e fa uso di molte librerie spring internamente. Non l'ho mai usato, quindi non posso offrire un'opinione su di esso.

Java EE è un termine generico per un ampio insieme di specifiche/librerie" enterprise". JSF è un framework di visualizzazione web questo fa parte di Java EE.

Questo è il mio consiglio di altissimo livello. Per riassumere, imparerei DB/JDBC di base, quindi alcune cose primaverili e quindi inizierei a costruire un'app web di base usando ciò che hai già imparato.

Spero che aiuti. C'è un sacco di informazioni là fuori sul web su tutti questi argomenti e si può sempre fare domande qui su parti più specifiche, se hai bisogno di aiuto. Buona fortuna e buon divertimento!

MODIFICA (per indirizzare il commento):

Tutto quanto sopra è il mio raccomandazione / parere su come affrontare l'apprendimento dello sviluppo web Java.

In sintesi

  • Imparare JDBC / transactions / databases è un must
  • La primavera è facoltativa ma lo consiglio vivamente. La primavera è una grande libreria, ma è possibile scegliere i bit che ti piace/bisogno.
  • Web frameworks la scelta è davvero tua. Da quello che ho provato (JSF/JSP/Wicket) Wicket è il più facile da usare in modo da non passare troppo tempo frustrato dall'ottenere il configurazione iniziale. JSP è terribile, è molto facile fare un casino con esso. JSF è potente ma pesante e probabilmente più adatto a progetti molto intraprendenti rispetto a una prima app web.
  • Hibernate è facoltativo, ma può rendere la vita più facile semplicemente perché è possibile lavorare con oggetti Java quando si eseguono query/aggiornamenti DB piuttosto che scrivere noiose istruzioni insert/update. Hibernate non è l'unico strumento come questo, ma è quello che ho usato di più e fa bene il lavoro. Basta non andare troppo in mare con il funzionalità di ibernazione "intelligente" inizialmente.

Si potrebbe facilmente utilizzare Spring MVC invece di Wicket. Potrebbe essere una scelta perfettamente buona, non ho usato Spring MVC me stesso, quindi non posso commentare. Sono sicuro che si integrerà bene con le cose primaverili, quindi sarebbe certamente un fattore positivo.

Fare qualche ricerca in più se non siete sicuri, non c'è fine di persone felici di dare la loro opinione! Ma in realtà devi solo tuffarti e provare qualcosa.

 8
Author: Mike Q, 2013-06-15 12:55:28

Hai ragione. Se tutte le tue applicazioni sono servite da servlet, JSP e JDBC, allora forse non hai bisogno di imparare nient'altro.

Ti raccomando per aver imparato i fondamenti prima di immergerti in un boschetto di framework che non capisci. E ' una buona cosa.

Ma se si raggiunge il punto in cui si hanno quelli giù freddo, forse guardando queste altre tecnologie può aiutare a migliorare il vostro gioco.

1)Java EE

Tu sei apprendimento (parte) di Java EE quando si utilizzano servlet, JSP e JDBC. Sono un sottoinsieme del macchinario Java EE completo: EJBs, JMS, JNDI, ecc.

2) Primavera o primavera MVC che cosa è differenza

Spring è un framework alternativo sviluppato da Rod Johnson e Springsource, ora parte di VMware, che si basa su dependency injection, programmazione orientata agli aspetti e moduli framework. Spring web MVC è un modulo nel framework Spring, basato su servlet, che funge da front-end per applicazioni web.

3) Ibernazione

Una tecnologia ORM (Object-Relational Mapping Technology), basata su SQL e JDBC, che consente di mappare gli oggetti alle tabelle. Ha un proprio linguaggio di query basato su oggetti.

4) Wicket

Un'altra alternativa web MVC a Spring MVC, Struts, JSF, ecc.

5)Puntoni

Il primo framework MVC web. È passato attraverso le versioni 1.0 e 2.0 e ora è stato soppiantato da Java Facce server. È ancora usato, però. Come tutti gli altri framework MVC web in Java, è basato su servlet e JSP.

 6
Author: duffymo, 2013-06-15 12:55:41

Da una prospettiva Java potrebbe essere meglio iniziare a guardare Java EE. Tutti gli altri che hai menzionato sono tecnologie alternative, che potrebbero esserti utili se decidi che ciò che il framework standard offre non è la tua tazza di tè. Ma per questo decidere, non è mai una cattiva idea sapere almeno di cosa si tratta il framework standard.

A dire il vero, prima del 2006 il quadro standard aveva una cattiva reputazione e alcuni dei sentimenti che costituiscono la base per raccomandare le tecnologie alternative sono ancora basate su questo. A partire dalla versione 5, Java EE è migliorato notevolmente. L'ultima versione, Java EE 6 è probabilmente uno dei migliori framework Java che è là fuori. Naturalmente, il migliore è un termine altamente soggettivo e naturalmente non sarà il migliore per ogni persona là fuori.

In qualsiasi lunghezza, Java EE 6 è un framework molto completo che consente di scrivere una vasta gamma di applicazioni senza dipendere da alcuna libreria aggiuntiva. Essendo il framework standard, la maggior parte degli altri framework dipende almeno da alcune parti di esso.

In genere EJB, CDI e JSF sono sostituiti da tecnologie alternative. Ad esempio, il contenitore della molla principale sostituisce EJB e CDI e Spring MVC sostituisce JSF. Uno stack Spring completo in genere utilizza ancora JPA, JTA, JMS e Servlet da Java EE. Wicket a sua volta sostituisce solo JSF, o quando viene utilizzato con uno stack Spring sostituisce Spring MVC.

Hibernate è un caso speciale. Non sostituisce nulla da Java EE, ma è invece spesso usato come implementazione per una delle API chiave di Java EE: JPA. Il creatore originale di Hibernate, Gavin King, è uno dei principali sostenitori del framework Java EE ed è infatti il lead delle specifiche di una delle parti più importanti del moderno Java EE: CDI.

Wicket di per sé è un framework web molto bello, ma in pratica non viene utilizzato tanto spesso quanto JSF. Non entrerò nella discussione se Wicket o JSF sono "migliori" (questa è per lo più una battaglia religiosa comunque), ma a causa della popolarità di JSF ci sono semplicemente più persone con esperienza e c'è una grande comunità che offre molte cose per JSF come librerie di componenti ed estensioni.

Struts è stato storicamente completamente sostituito da JSF. Il creatore originale o Struts, Craig Mcclanahan, è stato colui che ha iniziato JSF come successore di Struts. Tuttavia, Struts era una volta lo standard assoluto de-facto per i framework Web in Java. Non è spesso consigliato per essere utilizzato per il nuovo progetti, ma fino ad oggi è ancora utilizzato in un numero enorme di applicazioni esistenti. Quindi, anche se non è davvero 'caldo' per imparare Struts anno 2011 la conoscenza di esso può essere ancora molto pratico per quando si deve mantenere le applicazioni esistenti.

Ps

Vedere questa risposta per una descrizione generale su Java EE: Framework per la stratificazione di architetture riutilizzabili

 4
Author: Arjan Tijms, 2017-05-23 12:34:19

Sono sicuro che nessuno seriamente può dirti il modo migliore, perché questo significherebbe che avrebbe provato tutto. Perché vuoi imparare un framework di applicazioni web Java? Solo per imparare ad essere preparati per il (prossimo) lavoro? In tal caso è probabile che tu abbia imparato quello sbagliato.

La prossima domanda sarebbe cosa vuoi fare con il framework dell'applicazione Web. Vuoi rendere un sito web un po ' attivo, ad es. simile (corporate design), genera automaticamente i menu da una struttura interna, o vuoi scrivere una vera applicazione web , ad esempio con accesso al database.

Definirei prima l'obiettivo che vuoi raggiungere. IMHO un buon modo per motivarti a farlo bene è prendere un piccolo progetto che ti aiuta a risolvere un piccolo problema.

Quindi inizierei con Java Server Pages (JSP) e servlet per comprendere i concetti di base. Quindi puoi provare a fare lo stesso con alcuni framework di applicazioni web ben noti, ad esempio Wicket.

 1
Author: Mot, 2011-01-08 16:22:22