web-dev-qa-db-fra.com

Java Développement Web EE, par où commencer et de quelles compétences ai-je besoin?

Je veux apprendre, au moins au niveau de base, comment construire Java (issues d'un contexte .NET). J'aimerais pouvoir créer, déployer un type de CMS simple application à partir du sol.

Qu'est-ce que j'ai besoin d'apprendre exactement?

Tomcat semble être un bon serveur Web pour Java.

Quelles sont les options pour le Web? Je sais qu'il y a Hibernate pour un ORM.

Est-ce que Java a MVC? Qu'en est-il de JSP ? MVC et JSP peuvent-ils être ensemble? NetBeans ?

Peut-être un livre qui couvre tout cela?

212
mrblah

(Mis à jour en septembre 2018)

Que dois-je apprendre exactement?

Je suppose que vous connaissez déjà les technologies côté client telles que HTML , CSS et JS , je n’entrerai donc pas dans les détails. Je suppose également que vous connaissez déjà Java de base. Suivez le programme Les Java) et, si possible, procurez-vous également un livre OCA .

Ensuite, vous pouvez commencer avec JSP/Servlet pour apprendre les concepts de base de Java. Vous trouverez de bons didacticiels dans Oracle chapitres 3 à 8 de la partie II du didacticiel Java EE 5 = et sur Coreservlets.com ( débutant à intermédiaire et avancé, également JDBC ). Notez que depuis Java EE 6, JSP est supprimé du Java EE en faveur de JSF et ce JSP n’a fondamentalement pas changé depuis lors. C’est pourquoi vous pouvez utiliser en toute sécurité le très ancien Java EE 5. Pour JSP, l’important est d’écrire du code Java) dans des fichiers JSP utilisant <% scriptlets %> est officiellement déconseillé depuis 2003. Voir aussi Comment éviter Java code dans les fichiers JSP? Donc tous les tutoriels qui couvrent encore les scriptlets doivent être ignorés car ils prendront définitivement vous entrez dans une spirale descendante d'apprentissage de mauvaises pratiques.

Nous avons aussi de jolies pages wiki sur JSP , Servlets , JSTL et EL où vous pouvez apprendre l'essentiel et trouver des liens plus utiles.


Tomcat semble être un bon serveur Web pour Java.

C'est. Cependant, ses capacités sont limitées. Il s’agit essentiellement d’un conteneur de servlets barebones, qui implémente uniquement les parties JSP/Servlet de l’énorme API Java EE. Si vous souhaitez utiliser EJB ou JPA, choisissez-en un autre, par exemple: WildFly , TomEE , Payara , Liberté , WebLogic , etc. Sinon vous avez Pour utiliser Spring au lieu de Java EE. Il est impossible d'installer EJB dans un conteneur de servlets barebones sans modifier le moteur principal. Dans le cas où Tomcat réinventerait TomEE. Voir aussi - Qu'est-ce exactement Java EE?


Je sais qu'il existe Hibernate pour un ORM.

Auparavant, à l'époque du J2EE, lorsque JPA n'existait pas et que EJB2 était terrible, Hibernate était un framework autonome et était souvent utilisé avec Spring pour supplanter EJB. Depuis l'introduction de JPA dans Java EE 5 (2006), Hibernate est devenu une implémentation JPA. Vous pouvez apprendre JPA à la partie VIII du tutoriel Java EE . En outre, EJB3 a été grandement améliorée à la lumière des leçons tirées de Spring Voir Voir aussi Quand est-il nécessaire ou pratique d’utiliser Spring ou EJB3 ou l’ensemble d’entre eux?


Est-ce que Java possède MVC? Qu'en est-il de JSP? MVC et JSP peuvent-ils être ensemble? JavaBeans?

Vous pouvez , mais c'est beaucoup de réinvention de la roue lorsqu'il s'agit de lier le modèle à la vue (conversion, validation, modification des écouteurs, etc.). Java) Le framework MVC de EE s'appelle JSF . Avant Java EE 6 utilisé) JSP est remplacé par Facelets . Vous pouvez apprendre JSF à chapitres 7 à 17 de la partie III du tutoriel Java EE . Par ailleurs, vous pouvez également utiliser JSF sur Tomcat, il vous suffit de l'installer séparément. Vous trouverez les instructions d'installation à l'adresse page d'accueil de Mojarra . WildFly, TomEE, Payara, Liberty, WebLogic, etc. Java L'implémentation EE fournit déjà JSF (et CDI, BV, JSONP, JAX-RS, EJB, JPA, etc.) par défaut, vous n'avez donc pas besoin de l'installer séparément. Voir aussi - Comment installer et configurer correctement les bibliothèques JSF via Maven?


Peut-être un livre qui couvre tout cela?

Il y a plusieurs livres. Je recommanderais de commencer avec un livre axé sur Java EE en général , un livre plus axé sur JSF , et un livre - plus centré sur JPA . Assurez-vous de choisir le livre le plus récent couvrant le sujet. Il ne s'agit donc pas d'un livre ancien pour Java EE 5 ou JSF 1.0 ou plus).

Dernier point mais non le moindre, veuillez ignorer les sites de grattage de code tenus par des amateurs qui se concentrent principalement sur les revenus publicitaires plutôt que sur l'enseignement, tels que roseindia, tutorialspoint, javabeat, journaldev, javatpoint, codejava, etc. Ils sont facilement reconnaissables en perturbant les liens publicitaires/bannières et extraits de code JSP contenant des scriptlets .

Voir également:

250
BalusC

De quoi ai-je besoin exactement?

Au minimum,

  • Java le langage
  • Java l'API, y compris JDBC pour l'accès à la base de données
  • Un IDE ou un éditeur de texte + Ant
  • Java EE, essentiellement, les servlets et JSP
  • Un conteneur de servlet (tel que Tomcat)

Tomcat semble être un bon serveur Web pour Java.

C'est "décent". Si vous n'aimez pas les EJB, vous n'aurez probablement pas besoin d'apprendre autre chose. Glassfish 3 semble être assez cool ces derniers temps, mais je n'ai pas encore beaucoup joué avec. Remarque, c'est "plus" qu'un serveur Web. C'est un conteneur de servlet (ce qui signifie qu'il peut exécuter des applications à l'aide de la technologie servlet).

Quelles sont les options pour le Web?

Environ un zillion de cadres différents. En réalité, en choisir un est vraiment "difficile". Il est très tentant de les essayer tous, mais finalement irréalisable.

Je sais qu'il y a une hibernation pour un ORM.

Je suis un peu anti-ORM, mais Hibernate est ce dont vous avez besoin si vous avez besoin d'un ORM "complet". Vous pouvez également essayer des ORM "partiels", tels que le support JDBC de Spring ou iBatis.

Est-ce que Java possède MVC? Qu'en est-il de JSP? MVC et JSP peuvent-ils être ensemble? Beans?

Oui, la plupart des Java font MVC). Le MVC de Spring est sympa, mais je ne peux rien recommander d'autre (surtout pas à Struts 1!). JSP est simplement un modèle HTML (ou XML) JSP old-school, avec Java n’est pas cool; les JSP modernes avec des fichiers de balises et des bibliothèques sont très bons.

Je suppose que la plupart des frameworks vous permettront d'utiliser JSP pour rendre vos V; Spring MVC et Struts font. Certains vous laisseront utiliser autre chose aussi (Velocity, Freemarker, etc.).

Les haricots sont juste une convention pour les objets. En gros, cela signifie que vous utilisez des getters et des setters (ou des alternatives) et que vous suivez certaines règles. Ceux-ci devraient laisser votre objet être manipulé par certains outils. L’exemple typique est une interface graphique. Certains outils vous permettent de construire des composants d’interface graphique pour éditer des beans arbitraires (c’est-à-dire qu’ils rendront un formulaire pour éditer ses champs).

28
alex

Vous avez besoin de HTML, CSS et JavaScript - tous les suspects habituels du développement Web.

Tomcat a un serveur Web intégré, mais c'est un moteur de servlet/JSP. Apache est le serveur Web pur.

Vous devez apprendre JSP, un langage de modélisation permettant de générer des servlets générant une sortie HTML. Vous aurez envie de les écrire en utilisant JSTL, pas de scriptlets.

Si vous utilisez des applications CRUD, vous devrez apprendre JDBC et les bases de données relationnelles. Vous devriez le faire avant d'essayer Hibernate ou tout autre ORM, car c'est la base sur laquelle ils sont construits.

Les JavaBeans ne sont que des standards pour les objets Java.

Si vous le souhaitez, je recommanderais le cadre Spring.

16
duffymo

Est-ce que Java a MVC?

Java a différents frameworks comme Struts2, Spring MVC

qu'en est-il de JSP?

[~ # ~] jsp [~ # ~] est une bibliothèque de modèles. Il existe quelques alternatives que vous pouvez essayer comme FreeMarker et Velocity. AFAIK Freemarker est en train de devenir une bonne bibliothèque de modèles. Il est plus léger que [~ # ~] jsp [~ # ~]. Vérifiez ceci FreeMarker: ne alternative ouverte à JSP - JavaWorld

mVC et JSP peuvent être ensemble?

Je prends MVC comme un cadre mentionné précédemment. Tous les frameworks prennent en charge JSP mais vous devez vérifier le support des autres bibliothèques de modèles dans la documentation relative aux frameworks. Autant que je sache Struts2 a un très bon support pour Freemarker.

des haricots?

Je ne sais pas grand chose à ce sujet. Mais en utilisant des haricots, nous pouvons directement mapper les données de formulaire aux bases de données.

Peut-être un livre qui couvre tout cela?

Chaque cadre a son propre livre. Pour Struts2 - Struts 2 en action

String MVC - Consultez ces questions pour recommander des livres pour Spring et Spring MVC. Suggestion de livre pour Spring framework et Spring Books: Lequel choisir

Fremarker a une très bonne documentation - Manuel FreeMarker

Pour se lancer dans le développement Web en Java -

alt text

http://www.Amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596

13
Xinus

Je considère que la plupart des options de développement Web Java traditionnelles) sont assez lourdes, et il existe quelques bonnes alternatives:

  • Play est un framework MVC axé sur la légèreté, la simplicité et la rapidité du développement - tout en restant fidèle à Java pur, par opposition à un langage plus dynamique basé sur JVM. C'est assez nouveau, mais déjà impressionnant, et une bonne communauté s'est construite autour rapidement.

  • Grails est un framework MVC, inspiré de Ruby sur Rails, qui est écrit en et utilise, Groovy , un script basé sur Java. Grails est mature, robuste et largement respecté, avec une communauté solide. Groovy est fondamentalement un sur-ensemble de Java, avec une syntaxe améliorée et des fonctionnalités intéressantes telles que des fermetures, ce qui en fait un excellent moyen d’apprendre Java.

  • Si vous avez besoin/souhaitez créer des sites Web/services/applications RESTful, Restlet est un cadre fantastique - je suis un grand fan. C'est simple, simple et pourtant flexible. Grande communauté aussi.

  • App Engine de Google est également une option intéressante. Il est hébergé, ce qui peut être intéressant ou non, mais il possède une API assez simple et un bon SDK.

Je suis sûr qu'il y en a d'autres, mais ce sont ceux-là auxquels je peux penser spontanément.

Bonne chance et amusez-vous bien!

5
Avi Flax

Je suis une programmation PHP/C et j’ai trouvé que groovy me permettait de sauter dans Java sans apprendre toutes les classes et tous les paradigmes inhérents à la programmation Java Groovy m'a permis d'être productif rapidement tout en prenant le temps d'en apprendre plus sur Java et tous les outils/frameworks/bibliothèques disponibles.

3
mr-sk

Si vous ne voulez pas travailler avec html, css, xml, javascript, etc.

Essayez Vaadin framework, il est bien documenté, facile à apprendre et permet de créer une belle interface utilisateur de manière simple. (écrivez simplement Java, bien sûr, vous avez besoin d’un serveur servlet, Tomcat ou Jetty ira bien)

3
mokrzu

Mieux vaut apprendre Java. Ensuite, vous apprendrez à Servlets et à JSP. Ensuite, optez pour MVC, passez à Struts ou Spring ou n’importe quel autre framework compatible Java/java.

2
SIVAKUMAR.J

Puisque vous êtes nouveau sur Java, je vous recommanderais tout d’abord d’apprendre le langage de base. Cela vous aidera, quelle que soit la technologie utilisée pour votre application Web.

Sun Java Tutorial - http://Java.Sun.com/docs/books/tutorial/ ) est une bonne ressource en ligne.

0