Sviluppo web Java EE, da dove inizio e di quali competenze ho bisogno? [chiuso]


Voglio imparare, almeno a livello di base, come costruire applicazioni Web Java (provenienti da uno sfondo.NET). Mi piacerebbe essere in grado di costruire, distribuire una semplice applicazione di tipo CMS da zero.

Cosa devo imparare esattamente?

Tomcat sembra essere un buon server web per Java.

Quali opzioni ci sono per il web? So che c'è Hibernate per un ORM.

Java ha MVC? Che dire di JSP ? MVC e JSP possono stare insieme? NetBeans ?

Forse un libro che copre tutti questi?

Author: BalusC, 2009-12-24

9 answers

(Aggiornato settembre 2018)

Cosa devo imparare esattamente?

Presumo che tu abbia già familiarità con le tecnologie lato client come HTML, CSS e JS, quindi non andrò in dettaglio con quello. Presumo anche che tu abbia già familiarità con Java di base. Segui Oracle I tutorial Javae, se possibile, vai a prendere un libro OCA o anche un corso.

Quindi puoi iniziare con JSP / Servlet per imparare i concetti di base dello sviluppo web Java. Buoni tutorial possono essere trovati in Oracle Java EE 5 tutorial parte II capitoli 3-8 e a Coreservlets.com ( Principiante-Intermedio e Avanzato, anche JDBC). Si noti che da Java EE 6, JSP viene rimosso dal tutorial Java EE a favore di JSF e che JSP non è sostanzialmente cambiato da allora. Ecco perché si potrebbe tranquillamente utilizzare il abbastanza vecchio Java EE 5 tutorial per questo. Più importante cosa per quanto riguarda JSP è il fatto che la scrittura di codice Java semplice in file JSP utilizzando <% scriptlet %> è ufficialmente scoraggiato dal 2003. Vedi anche Come evitare il codice Java nei file JSP? Quindi qualsiasi tutorial che copra ancora gli scriptlet dovrebbe essere saltato in quanto ti porterà sicuramente in una spirale discendente di cattive pratiche di apprendimento.

Abbiamo anche belle pagine wiki su JSP, Servetti, JSTL e EL dove si può imparare il essentials e trovare link più utili.


Tomcat sembra essere un buon server web per Java.

Lo è. È tuttavia limitato nelle capacità. È fondamentalmente un contenitore servlet barebone, implementando solo le parti JSP / Servlet dell'enorme API Java EE. Se vuoi andare EJB o JPA, allora ti piacerebbe sceglierne un altro, ad esempio WildFly, TomEE, Payara, Libertà, WebLogic, ecc. Altrimenti hai usare Spring invece di Java EE. Vale a dire non è possibile installare EJB in un contenitore servlet barebone senza modificare il motore principale, in caso di Tomcat fondamentalmente reinventare TomEE. Vedi anche Che cos'è esattamente Java EE?


So che c'è Ibernazione per un ORM.

In precedenza, durante l'era J2EE, quando JPA non esisteva e EJB2 era terribile, Hibernate era un framework autonomo e spesso usato in combinazione con Spring to soppiantare EJB. Dall'introduzione di JPA in Java EE 5 (2006), Hibernate è diventata un'implementazione JPA. Si può imparare JPA a Java EE tutorial parte VIII. Inoltre, EJB3 è stato molto migliorato sulla base delle lezioni apprese dalla primavera. Vedi anche Quando è necessario o conveniente usare Spring o EJB3 o tutti insieme?


Java ha MVC? Che mi dici di JSP? MVC e JSP possono stare insieme? JavaBeans?

Puoi, ma questo è un sacco di reinvenzione della ruota quando si tratta di legare il modello con la vista (conversione, convalida, modifica degli ascoltatori, ecc.). Il framework MVC di Java EE è chiamatoJSF . Prima di Java EE 6 era usato per funzionare su JSP, che è una tecnologia di visualizzazione abbastanza legacy. JSP è stato sostituito da Facelets . Puoi imparare JSF a Java EE tutorial parte III capitoli 7 - 17 . A proposito, puoi anche usare JSF su Tomcat, devi solo installarlo separatamente. Le istruzioni per l'installazione sono disponibili all'indirizzo Mojarra homepage. WildFly, TomEE, Payara, Liberty, WebLogic, ecc come un'implementazione Java EE completa forniscono già JSF (e CDI, BV, JSONP, JAX-RS, EJB, JPA, ecc.), quindi non è necessario installarlo separatamente. Vedi anche Come installare e configurare correttamente le librerie JSF tramite Maven?


Forse un libro che copre tutti questi?

Ci sono diversi libri. Lo farei consiglia di iniziare con un libro incentrato su Java EE in generale , un libro più incentrato su JSF e un libro più incentrato su JPA . Assicurarsi di scegliere il libro più recente che copre l'argomento. Quindi non un vecchio libro per Java EE 5 o JSF 1.0 o giù di lì.

Ultimo ma non meno importante, si prega di ignorare i siti di scraping del frammento di codice gestiti da dilettanti con focus primario sul reddito pubblicitario anziché sull'insegnamento, come roseindia, tutorialspoint, javabeat, per maggiori informazioni: Sono facilmente riconoscibili da fastidiosi link pubblicitari / banner e frammenti di codice JSP contenenti scriptlet .

Vedi anche:

 239
Author: BalusC, 2018-09-29 14:54:54

Cosa devo imparare esattamente?

In minima parte,

  • Java il linguaggio
  • Java l'API, incluso JDBC per l'accesso al database
  • Un IDE o un editor di testo + Ant
  • Java EE, fondamentalmente, servlet e JSP
  • Un contenitore servlet (come Tomcat)

Tomcat sembra essere un buon server web per Java.

È "decente". Se non sei in EJB, probabilmente non avrai bisogno di imparare nient'altro. Pesce di vetro 3 sembra essere piuttosto fresco ultimamente, ma non ho ancora giocato con esso molto. Nota, è " più " di un server web. È un contenitore servlet (il che significa che può eseguire app utilizzando la tecnologia servlet).

Quali opzioni ci sono per il web?

A proposito di un milione di quadri diversi. Davvero, sceglierne uno è davvero "difficile". È molto allettante provarli tutti, ma alla fine non è fattibile.

So che c'è hibernate per un ORM.

Sono un po anti-ORM, ma Hibernate è ciò di cui hai bisogno se hai bisogno di un ORM "completo". Puoi anche provare ORM "parziali", come il supporto JDBC di Spring o iBatis.

Java ha MVC? che mi dici di JSP? MVC e JSP possono stare insieme? fagioli?

Sì, la maggior parte dei framework Web Java fa MVC. MVC di Spring è bello, ma non posso raccomandare nient'altro (soprattutto, non Struts 1!). JSP è solo un motore di template HTML (o XML). JSP vecchia scuola, con codice Java incorporato non è cool; JSP moderno con file di tag e le biblioteche è abbastanza buono.

Suppongo che la maggior parte dei framework ti permetterà di usare JSP per rendere il tuo Vs; MVC e Struts di Spring lo fanno. Alcuni ti permetteranno di usare anche qualcos'altro (Velocity, Freemarker, ecc.).

Beans è solo una convenzione per gli oggetti. Fondamentalmente, significa che stai usando getter e setter (o alcune alternative) e stai seguendo alcune regole. Questi dovrebbero consentire al tuo oggetto di essere manipolato da determinati strumenti. L'esempio tipico è una GUI, alcuni strumenti ti permetteranno di creare GUI componenti per modificare i bean arbitrari (cioè renderizzeranno un modulo per modificare i suoi campi).

 25
Author: alex, 2009-12-24 16:13:53

Hai bisogno di HTML, CSS e JavaScript - tutti i soliti sospetti per lo sviluppo web.

Tomcat ha un server web integrato, ma è un motore servlet/JSP. Apache è il server web puro.

È necessario imparare JSP, che è un linguaggio di template per la generazione di servlet che generano output HTML. Ti consigliamo di scriverli usando JSTL, non scriptlet.

Se stai facendo applicazioni CRUD, avrai bisogno di imparare JDBC e database relazionali. Dovresti farlo questo prima di provare Hibernate o qualsiasi altro ORM, perché è il fondamento su cui sono costruiti.

I JavaBeans sono solo standard per gli oggetti Java.

Se sei pronto, ti consiglierei il framework Spring.

 14
Author: duffymo, 2011-05-15 00:01:27

Java ha MVC?

Java ha diversi framework come Puntoni 2, Primavera MVC

Che dire di JSP?

JSP è una libreria di modelli. Ci sono poche alternative che puoi provare come FreeMarker e Velocity . AFAIK Freemarker è una libreria di modelli emergente. È leggero rispetto a JSP . Controlla questo FreeMarker: Un'alternativa aperta a JSP - JavaWorld

MVC e JSP possono stare insieme?

Prendo MVC come un framework menzionato in precedenza. Tutti i framework hanno il supporto per JSP ma è necessario controllare il supporto per altre librerie di modelli nella rispettiva documentazione dei framework. AFAIK Struts2 to ha un ottimo supporto per Freemarker.

Fagioli?

Non ne so molto. Ma usando i bean possiamo mappare direttamente i dati del modulo ai database.

Forse un libro che copre tutti questi?

Ogni framework ha il proprio libro. Per Puntoni 2 - Puntoni 2 in azione

String MVC - Dai un'occhiata a queste domande raccomandando libri per Spring e Spring MVC. Suggerimento di libri per Spring framework e Spring Books: quale scegliere

Fremarker ha un'ottima documentazione- FreeMarker Manual

Per iniziare lo sviluppo web in Java -

Testo Alt http://ecx.images-amazon.com/images/I/5140T7T6WJL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

Http://www.amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596

 11
Author: Xinus, 2018-01-24 10:07:37

Considero la maggior parte delle tradizionali opzioni di sviluppo Web Java piuttosto pesanti, e ci sono alcune buone alternative:

  • Play è un framework MVC che si concentra sull'essere leggero, semplice e che consente uno sviluppo rapido, pur mantenendo Java puro, al contrario di un linguaggio basato su JVM più dinamico. È abbastanza nuovo ma già impressionante, e una buona comunità si è costruita rapidamente attorno ad esso.

  • Grails è un MVC framework, ispirato da Ruby on Rails, che è scritto in, e utilizza, Groovy , un linguaggio di scripting basato su Java. Grails è maturo, robusto e ampiamente rispettato, con una forte comunità. Groovy è fondamentalmente un superset di Java, con una migliore sintassi e alcune grandi caratteristiche come le chiusure, in modo da imparare è un ottimo modo per imparare Java.

  • Se hai bisogno/vuoi creare siti web/servizi/applicazioni RESTful, Restlet è un framework fantastico - sono un grande fan. E semplice, diretto, ma flessibile. Grande comunità troppo.

  • Google App Engine è un'opzione interessante pure. È ospitato, che può o non può essere di interesse, ma ha un'API abbastanza semplice e un buon SDK.

Sono sicuro che ce ne sono altri, ma questi sono quelli a cui riesco a pensare in cima alla mia testa.

Buona fortuna, e buon divertimento!

 4
Author: Avi Flax, 2009-12-24 19:29:28

Sono un PHP/C programmazione e ho trovato groovy mi permettono di saltare in Java senza imparare tutte le classi e paradigmi inerenti alla programmazione java. Groovy mi ha permesso di essere produttivo rapidamente, prendendo tempo per saperne di più su java e tutti gli strumenti/framework/librerie disponibili.

 3
Author: mr-sk, 2009-12-24 15:57:59

Se non si lavora con html, css,xml, javascript ecc..

Prova Vaadin framework, è ben documentato, facile da imparare e consente di creare un'interfaccia utente di bell'aspetto in modo semplice. (basta scrivere codice Java, ovviamente è necessario un server servlet, Tomcat o Jetty andrà bene)

 3
Author: mokrzu, 2011-08-01 19:00:46

Meglio imparare java.Quindi impari Servlet e JSP.Quindi vai per MVC vai su Struts o Spring o qualsiasi altro framework abilitato java/java.

 2
Author: SIVAKUMAR.J, 2012-08-28 13:16:49

Dato che sei nuovo in Java, ti consiglio vivamente di imparare prima la lingua di base. Questo vi aiuterà a prescindere da quale tecnologia si sceglie di fare la vostra applicazione web in.

Una buona risorsa online è il Sun Java Tutorial - http://java.sun.com/docs/books/tutorial /

 0
Author: Thorbjørn Ravn Andersen, 2009-12-24 16:34:07