J'ai demandé à beaucoup de gens par où commencer à apprendre le développement Web Java, je connais déjà le noyau Java (Threading, Generics, Collections, un peu d'expérience avec (JDBC)) mais je ne connais pas les JSP et les servlets. J'ai fait ma juste part de développement avec plusieurs applications Web utilisant PHP pour le côté serveur et HTML, CSS, Javascript, HTML5 pour le côté client.
La plupart des gens à qui j'ai demandé m'ont dit de passer directement à Hibernate tandis que certains m'ont dit que je n'ai pas besoin d'apprendre les servlets et les jsps et que je devrais immédiatement étudier le framework Spring. Est-ce vrai? n'ai-je pas besoin d'apprendre les servlets et les JSP pour apprendre l'hibernation ou Spring?
Toutes leurs réponses m'ont confondu et maintenant je suis complètement perdu quoi apprendre ou étudier. Je pense que si je sautais l'apprentissage de JSP et des servlets, je manquerais beaucoup de concepts importants qui m'aideront sûrement à l'avenir.
Donc, la question, dois-je avoir des servlets foundation / know et JSP pour apprendre Spring ou hibernate ou tout autre framework web Java.?
la source
Bear Bibeault
, un développeur et des auteurs bien connus insistent pour que l'on apprenne JSP et Servlets avant d'apprendre N'IMPORTE QUEL cadre. Quelqu'un veut-il montrer pourquoi cela peut ou non s'appliquer aujourd'hui? Voici son article - coderanch.com/t/521300/JSP/java/JSP-servlets-strutsBear Bibeault
. Voir ces deux liens - coderanch.com/t/633527/Spring/… et coderanch.com/t/633526/JSP/java/…Réponses:
Si vous avez une bonne compréhension de HTML, CSS et JavaScript, vous avez une longueur d'avance sur de nombreuses personnes qui finissent par faire du développement Web. Les concepts derrière JSP sont très similaires à PHP. Les bizarreries sont différentes. Un servlet est le nom d'un morceau de code Java qui sert une demande. C'est vraiment ça. L'ensemble du framework Struts d'origine était un seul servlet.
J'ajouterais Tomcat ou Jetty à votre liste de technologies à apprendre. Tomcat est l'implémentation originale du conteneur de servlets Java et s'avère également être un serveur Web complet et plutôt populaire. GlassFish est construit dessus. J'ai utilisé Jetty au lieu de Tomcat dans mes nouveaux projets car c'est plus simple, plus flexible et plus rapide. Jetty a été conçu pour créer des services Web par opposition aux applications Web. Mais une application Web n'est qu'un service Web qui sert du HTML en réponse aux demandes HTTP brutes, donc si vous comprenez HTTP (dont vous pouvez apprendre les parties importantes en quelques heures à un jour), il est très facile de travailler avec.
Vous pouvez créer un petit site Web avec Tomcat et JSP ( tutoriel ici ou JSF) en sachant exactement ce que vous savez et en passant quelques heures à parcourir des tutoriels. De cette façon, vous pouvez commencer où vous êtes à l'aise avant de vous étirer. Créez ensuite un javax.servlet.http.HttpServlet qui écrit "<html> <head> <title> Hi </title> </head> <body> <h1> Hello World </h1> </body> </ html > "à l'objet de réponse, répertoriez-le dans votre Tomcat web.xml et envoyez-lui une demande HTTP à partir d'un navigateur Web. Ce n'est pas sorcier. Tous les frameworks Web Java sont des variantes de ces deux activités de base.
Si vous empruntez la voie de la jetée, elle est encore moins structurée. Découvrez cet exemple Hello Jetty .
Si vous voulez simplement créer un blog ou un site de commerce électronique standard, je commencerais par SquareSpace ou Wordpress ou quelque chose du genre . Vous obtenez tellement de choses sur le marché, il n'y a plus aucun moyen de justifier le codage personnalisé.
La force de Java pour les applications Web réside dans sa fiabilité, sa maintenabilité et ses performances. PHP ou Ruby / Rails est plus simple, mais Java évoluera autant que vous le souhaitez. Je ne suis renversé par aucun des cadres Web Java. Lorsque vous avez une équipe de personnes travaillant sur une grande application Web ou que vous devez utiliser Hibernate, un framework comme Spring brille vraiment. Le printemps est le plus populaire. Lorsque vous vous familiarisez avec les servlets et JSP / JSF, découvrez comment Spring les relie à un modèle de données.
Si vous créez un blog ou un système de gestion de contenu, vous pouvez peut-être vous en sortir avec une base de données NoSQL. Mais je dirais que les bases de données NoSQL ne sont fondamentalement qu'une couche de mise en cache sur un système de fichiers, plutôt que de remplacer les bases de données relationnelles. Je pense qu'il est rare qu'un projet qui soit bien adapté à une base de données NoSQL soit approprié à développer en Java.
Les choses qui nécessitent toujours un code personnalisé et performant (en Java, PHP, peu importe) auront probablement une base de données relationnelle / SQL qui les alimentera. Je vous recommanderais tout d'abord de vous familiariser avec SQL et JDBC (Java Database Connectivity). Une fois que vous êtes à l'aise avec le monde des objets Java et le monde des bases de données relationnelles et SQL, vous pouvez apprendre Ebean / JPA (Java Persistence API) / ORM (Object to Relational Mapping) qui relie le monde des objets au monde relationnel.
Les ORM sont délicats et étranges. La plupart en valent finalement la peine. Ebean est le plus simple que je connaisse. Je suis plus à l'aise avec ça après 8 mois qu'avec Hibernate après 12 ans. Je connais beaucoup de gens qui utilisent Spring avec Hibernate et ils ne semblent pas avoir de problème, ni même être particulièrement conscients de ce que fait ou fait Hibernate, donc je dirais que si vous allez utiliser Hibernate, faites-le jusqu'au printemps. Peut-être juste parce que j'ai travaillé plus longtemps avec lui, j'ai réussi à bloquer complètement Hibernate avec quelques cartes de hachage pour les tests, ce qui est génial (aperçu disponible sur demande).
Vous possédez déjà certaines des compétences les plus importantes. Prenez les autres un par un et essayez de ne pas vous laisser submerger.
la source
Bear Bibeault
, un développeur et des auteurs bien connus insistent pour que l'on apprenne JSP et Servlets avant d'apprendre N'IMPORTE QUEL cadre. Voulez-vous montrer pourquoi cela peut ou non s'appliquer aujourd'hui? Voici son article - coderanch.com/t/521300/JSP/java/JSP-servlets-strutsJe vous suggère de vous familiariser avec JSP de base et les servlets, car cela vous aidera à comprendre les concepts simplifiés au printemps. Étant donné que vous avez de l'expérience avec les CGI basés sur PHP, la plupart des JSP / Servlets auront juste différentes façons de faire les choses que vous connaissez donc cela devrait aller assez rapidement. La chose la plus difficile à trouver sera de saisir les idiomes uniques du monde java.
En ce qui concerne Hibernate, je suis d'accord avec MebAlone et je dis: apprenez-le si vous en avez besoin, mais s'il est déjà configuré, vous pouvez faire 90% de ce dont vous aurez besoin en ne faisant que criber ce que les autres ont fait.
la source
Il semble que vous souhaitiez apprendre le développement Web côté serveur avec Java. Il existe un certain nombre de cadres. Spring MVC est en fait le plus populaire, il est mature, très complet et un bon cadre à connaître. Spring MVC et d'autres frameworks web java font abstraction de l'API de servlet java du programmeur - donc techniquement, vous n'avez pas besoin de le savoir. Mais je suggérerais d'apprendre les bases - en particulier les classes clés. Une journée d'étude devrait vous y amener.
Quant à JSP, si vous connaissez PHP, vous comprenez déjà l'essentiel. JSP est la version java des scripts côté serveur.
Hibernate est une implémentation (la plus populaire) de JPA, qui est la spécification java pour les objets persistants dans RDBMS. Avec l'explosion de la popularité des bases de données NOSQL (Hadoop, Mongo, etc.), Hibernate est beaucoup moins incontournable qu'il y a 18 mois. Personnellement, j'apprends les technologies de stockage selon les besoins car il y en a beaucoup et vous perdez ce que vous n'utilisez pas.
la source
Réponse courte: non, vous n'avez pas besoin d' apprendre les servlets et les JSP comme pré-requis pour Spring MVC et de nombreux autres frameworks Web Java.
Sortons Hibernate de l'image en premier. C'est un framework de couche de persistance et cela n'a rien à voir avec les servlets et les JSP.
L'API Servlet est le niveau le plus bas pour presque tous les frameworks Web Java. Même les JSP sont compilés en servlets.
Spring MVC est une couche au-dessus de l'API Servlet avec de nombreuses extensions utiles et une intégration avec Spring Core. Vous pouvez utiliser les JSP comme mécanisme de rendu pour Spring MVC. Le tutoriel Spring MVC vous guidera de bout en bout pour créer des applications Web. Au fur et à mesure, vous découvrirez les JSP et vous serez également bien équipé pour comprendre l'API Servlet.
la source
Bear Bibeault
, un développeur et des auteurs bien connus insistent pour que l'on apprenne JSP et Servlets avant d'apprendre N'IMPORTE QUEL cadre. Voulez-vous montrer pourquoi cela peut ou non s'appliquer aujourd'hui? Voici son article - coderanch.com/t/521300/JSP/java/JSP-servlets-strutsil semble que vous êtes coincé sur un problème auquel j'ai été confronté récemment. Mon objectif était d'apprendre le développement côté serveur avec Java. J'ai donc commencé avec les servlets, compris leur fonctionnement et écrit quelques programmes simples à exécuter sur le serveur TomCat. TomCat, est une condition préalable. Vous devriez certainement être familier avec TomCat si vous voulez continuer. En ce qui concerne struts2 ou Spring, struts2 et spring sont des frameworks construits sur des servlets, ce qui rend indispensable une compréhension approfondie des servlets si vous voulez être solide sur les bases. J'ai commencé avec des tutoriels Java Brains. Pour un débutant, ces tutoriels sont incroyables. Certaines œuvres de Jakob Jenkov sur son blog sont également incroyables. Struts2 et Spring deviennent plus simples lorsque vous connaissez des servlets. En ce qui concerne l'hibernation, je vous suggère de commencer par être très familier avec JDBC. Allez pas à pas, servlets, entretoises, JDBC, Spring, Hibernate. J'espère que ma réponse vous aidera :).
la source