web-dev-qa-db-fra.com

Quel est le flux principal Java alternative à ASP.NET / PHP

J'ai entendu quelque chose et vu des exemples d'applications Web construites à l'aide d'ASP.NET/PHP et je me demande quelle serait la manière équivalente de faire des choses similaires dans Java world. En cherchant sur Wikipédia j'ai trouvé beaucoup de frameworks et je suis un peu confus lequel est le meilleur.

60
Veronika D

Java équivalent de PHP et "Classic" ASP serait JSP (Pages JavaServer) avec scriptlets (embedded raw Java code). Les scriptlets sont considérés mauvaise pratique dans Java monde de développement Web. Taglibs et EL (Expression Language) devraient être préférés ci-dessus scriptlets . L'équivalent Java de ASP.NET(MVC) serait un Java framework MVC. Il existe de nombreux frameworks MVC basés sur Java, fournissant principalement un contrôleur basé sur servlet/filtre et des balises pour interagir avec le modèle (généralement un - Javabean ) et la vue (généralement une page JSP, mais XHTML est également possible).

Pour commencer, Java EE API fournit JSF (JavaServer Faces) pour cela, qui à son tour vient avec la technologie de vue basée sur XHTML connue sous le nom de Facelets =. Les facelets sont considérés comme un remplacement du bon vieux JSP. De plus, il existe de nombreux open source Java frameworks MVC qui sont construits au-dessus de JSP/ API Servlet et qui sont conçus comme un alternative/compétition à JSF. Vous pouvez trouver peu d'informations sur tous ici , les plus populaires étant Spring MVC , Struts2 et Stripes .

Quant à laquelle choisir, je suggère de jeter un coup d'œil à cette réponse que je suis fortement d'accord.

101
BalusC

Le meilleur n'est pas nécessairement le même que le plus courant. Je pense que l'équivalent le plus direct (grâce à sa nature de piste standard) est JSF 2.0 & Facelets.

Cela dit, il existe des raisons pour lesquelles les autres cadres existent ... il est préférable d'en évaluer plusieurs et de déterminer celui qui correspond le mieux au style de développement de votre équipe.

Voir aussi cette question .

6
jsight