Devo sapere servlet e JSP per imparare spring o hibernate o qualsiasi altro framework web java? [chiuso]

17

Ho chiesto a molte persone dove iniziare a imparare lo sviluppo di java web, conosco già core java (Threading, Generics, Collections, una piccola esperienza con (JDBC)) ma non conosco JSP e servlet. Ho fatto la mia giusta parte di sviluppo con diverse applicazioni web basate su PHP per lato server e HTML, CSS, Javascript, HTML5 per lato client.

La maggior parte delle persone che ho chiesto mi ha detto di saltare direttamente a Hibernate mentre alcuni mi hanno detto che non ho bisogno di imparare servlet e jsps e dovrei studiare immediatamente il framework Spring. È vero? non ho bisogno di imparare servlet e JSP per imparare l'ibernazione o Spring?

Tutte le loro risposte mi hanno confuso e ora sono completamente perso da imparare o studiare. Sento che se saltassi l'apprendimento di JSP e servlet mi mancavano un sacco di concetti importanti che sicuramente mi aiuterà in futuro.

Quindi la domanda, devo avere fondamenta / sapere servlet e JSP per imparare spring o hibernate o qualsiasi altro framework web java.?

    
posta KyelJmD 07.09.2012 - 01:44
fonte

5 risposte

16

Se hai una buona conoscenza di HTML, CSS e JavaScript, hai un vantaggio su molte persone che finiscono per fare lo sviluppo web. I concetti alla base di JSP sono molto simili a PHP. Le stranezze sono diverse. Un servlet è il nome di una porzione di codice Java che serve una richiesta. Questo è davvero. L'intero framework originale di Struts era un singolo servlet.

Vorrei aggiungere Tomcat o Jetty al tuo elenco di tecnologie da apprendere. Tomcat è l'implementazione del contenitore Java Servlet originale e sembra anche essere un server Web completo e piuttosto popolare. GlassFish è costruito sopra di esso. Ho usato Jetty invece di Tomcat nei miei progetti più recenti perché è più semplice, più flessibile e più veloce. Jetty è stato progettato per realizzare servizi web anziché app web. Ma un'app web è solo un servizio Web che serve l'HTML in risposta a richieste HTTP non elaborate, quindi se comprendi il protocollo HTTP (che puoi imparare le parti importanti in poche ore al giorno), è molto facile lavorare con

Puoi creare un piccolo sito web con Tomcat e JSP ( tutorial qui o JSF) sapendo quello che sai e trascorrendo alcuni ore passate attraverso le esercitazioni. In questo modo puoi iniziare dove ti trovi bene prima di allungarti. Quindi scrivi javax.servlet.http.HttpServlet che scrive "< html > < head > < title > Hi < / title > / head > < body > h1 > Hello World < / h1 < / body > < / html >" all'oggetto risposta, elencalo nel tuo web.xml Tomcat e invialo a HTTP da un browser web. Non è scienza missilistica. Tutti i framework web Java sono variazioni su queste due attività di base.

Se segui la rotta Jetty, è ancora meno strutturata. Dai un'occhiata a questo esempio Hello Jetty .

Se hai intenzione di creare un blog o un sito di e-commerce standard, inizierei con SquareSpace o Wordpress o qualcosa del genere. Si ottiene così tanto tempo fa, non c'è modo di giustificare la codifica personalizzata di tutto ciò.

Il punto di forza di Java per le applicazioni Web è l'affidabilità, la manutenibilità e le prestazioni. PHP o Ruby / Rails è più semplice, ma Java scalerà quanto vuoi. Non sono travolto da nessuno dei framework web Java. Quando hai un team di persone che lavorano su una grande applicazione web, o hai bisogno di usare Hibernate, allora un framework come Spring brilla davvero. La primavera è la più popolare. Quando hai dimestichezza con i servlet e JSP / JSF, scopri come Spring leghi quelli con un modello di dati.

Se stai creando un blog o un sistema di gestione dei contenuti, forse puoi farla franca con un database NoSQL. Ma direi che i database NoSQL sono fondamentalmente solo un livello di caching su un file system, piuttosto che sostituire i database relazionali. Penso che sia raro che un progetto adatto per un database NoSQL sia appropriato per lo sviluppo in Java.

Le cose che richiedono ancora un codice personalizzato ad alte prestazioni (in Java, PHP, qualunque sia) probabilmente avranno un database relazionale / SQL che le alimenta. Ti consigliamo di acquisire prima una familiarità di base con SQL e JDBC (Java Database Connectivity). Dopo aver familiarizzato con il mondo degli oggetti Java e con il mondo dei database relazionali e SQL, puoi imparare Ebean / JPA (Java Persistence API) / ORM (Object to Relational Mapping) che collega il mondo oggettivo al mondo relazionale.

Gli ORM sono complicati e bizzarri. La maggior parte alla fine vale la pena. Ebean è il più semplice che conosco. Mi sento più a mio agio dopo 8 mesi di quanto non lo sia con Hibernate dopo 12 anni. Conosco un sacco di persone che usano Spring con Hibernate e non sembrano avere alcun problema, o addirittura essere particolarmente consapevoli di cosa sia o meno l'ibernazione, quindi direi se userai l'ibernazione, fallo attraverso la primavera. Forse solo perché ho lavorato più a lungo, sono riuscito a spegnere completamente Hibernate con un paio di mappe hash per il test, il che è fantastico (panoramica disponibile su richiesta).

Hai già alcune delle abilità più importanti. Prendi gli altri uno alla volta e cerca di non essere sopraffatto.

    
risposta data 07.09.2012 - 03:23
fonte
4

Suggerirei di apprendere su JSP e Servlet di base in quanto ti aiuterà a cogliere i concetti semplificati in primavera. Dato che hai esperienza con CGI basati su PHP, la maggior parte di JSP / Servlet avrà solo diversi modi di fare le cose che ti sono familiari, quindi dovrebbe andare abbastanza velocemente. La cosa più difficile che potresti trovare sarà quella di trovare gli idiomi unici nel mondo java.

Per quanto riguarda Hibernate, sono d'accordo con MebAlone e dico impara se ne hai bisogno, ma se è già impostato puoi fare il 90% di ciò di cui avrai bisogno semplicemente cribando ciò che altri hanno fatto.

    
risposta data 07.09.2012 - 02:11
fonte
2

Sembra che tu voglia imparare lo sviluppo web lato server con java. Ci sono una serie di quadri. Spring MVC è infatti il più popolare, è maturo, molto ricco di funzionalità e una buona struttura da conoscere. Spring MVC e altri framework java web astraggono l'API del servlet java dal programmatore - quindi tecnicamente non è necessario saperlo. Ma suggerirei di apprendere le basi - in particolare le classi chiave. Una giornata di studio dovrebbe portarti lì.

Come per JSP, se conosci PHP hai già capito l'essenziale. JSP è la versione di Java di scripting lato server.

Hibernate è un'implementazione (la più popolare) di JPA, che è la specifica java per oggetti persistenti su RDBMS. Con l'esplosione della popolarità di NOSQL db's (Hadoop, Mongo, ecc.), Hibernate è molto meno di un "must know" di quanto lo fosse anche 18 mesi fa. Personalmente, apprendo le tecnologie di archiviazione in base al bisogno di sapere perché ce ne sono molte e perdi quello che non usi.

    
risposta data 07.09.2012 - 02:06
fonte
2

Risposta breve: no, non è necessario imparare Servlet e JSP come prerequisito per Spring MVC e molti altri framework web Java.

Per prima cosa mettiamo Hibernate fuori dall'inquadratura. È un framework del livello di persistenza e non ha nulla a che fare con Servlet e JSP.

L'API servlet è il livello più basso per quasi tutti i framework Web Java. Anche i JSP sono compilati su servlet.

Spring MVC è uno strato in cima alle API Servlet con molte estensioni utili e integrazione con Spring Core. Puoi utilizzare i JSP come meccanismo di rendering per Spring MVC. Il tutorial di Spring MVC ti porterà dall'inizio alla fine per creare applicazioni web. Mentre procederai, imparerai a conoscere le JSP e sarai anche in grado di comprendere anche le API Servlet.

    
risposta data 07.09.2012 - 02:13
fonte
-1

Sembra che tu sia bloccato su un problema che ho dovuto affrontare di recente. Il mio obiettivo era quello di imparare lo sviluppo lato server con Java. Quindi, ho iniziato con i servlet, ho capito il loro funzionamento e ho scritto alcuni semplici programmi da eseguire sul server TomCat. TomCat è un pre-requisito. Dovresti sicuramente avere familiarità con TomCat se vuoi procedere ulteriormente. Per quanto riguarda i puntoni2 o la molla, i montanti2 e le molle sono strutture costruite su servlet, il che rende essenziale avere una profonda comprensione dei servlet se si vuole essere forti alle basi. Ho iniziato con i tutorial di Java Brains. Per un principiante, questi tutorial sono fantastici. Alcune opere di Jakob Jenkov sul suo blog sono davvero incredibili. Struts2 e Spring diventano più semplici quando conosci i servlet. Per quanto riguarda l'ibernazione, ti suggerisco di iniziare a familiarizzare con JDBC. Vai gradualmente, servlet, struts, JDBC, Spring, Hibernate. Spero che la mia risposta aiuti :).

    
risposta data 20.12.2015 - 17:24
fonte

Leggi altre domande sui tag