Il ne faut pas nécessairement un serveur d'application pour faire du JSP/Servlet mais uniquement un moteur de servlet
Je suis tout à fait d'accord, c'est de cela que je parlais ... Weblogic utilise son propre moteur JSP/Servlet, Orion aussi, ...
Simplement il en existe forcément de mieux fait que d'autres ...
Comme cela a été dis, le debuggage des JSP est une catastrophe (Internal server error avec un numéro de ligne qui ne correspond pas à qq chose dans la page JSP)
La plupart des engines vont te donner : L'exception et le message associé, la stack trace complète, le numéro de la ligne DU JSP ou l'erreur s'est produite, ...
Donc le debuging n'est ABSOLUMENT pas une catastrophe, et je sais ce que j'avance, je le fais tous les jours :-)
Le principe de fonctionnement des JSP est un millefeuilles : les jsp sont traduits en servlet (une classe java qui enverra sur "stdout" ce qui doit être envoyé au navigateur), le code java de cette servlet est alors compilé en bytecode java qui va être chargé par le moteur de servlet et exécuté.
Effectivement cela se passe ainsi : lors d'une requete vers un JSP, l'engine regarde si le JSP a deja été compilé. Si oui, il l'execute, si non, il génère le servlet, le compile, puis l'exécute. Une fois que le JSP a été compilé, il ne devra plus l'etre. De plus, tout ça est 100% transparant pour le développeur.
particulier la difficulté pour s'interfacer avec des bibliothèques "natives"
Java est justement réputé pour s'interfacer avec un peu tout et n'importe quoi sans trop de problèmes ... Et ça se vérifie dans la pratique ! J'ai récemment du faire l'interfacage entre des bibliothèques C++ d'un logiciel de mathématique et du code Java, ça s'est passé sans problèmes !! J'ai du compiler du C ? Et alors ? Je ne vois pas le problème :-)
dans la version "out of process" de JSP/Servlet on notera qu'un plantage du moteur de Servlets (core ou Docteur Watson) bloque tout le site alors qu'un plantage identique en PHP ne bloquera que la requête en cours
Possible... Je ne sais pas ... Aucuns des Servlet engine que j'ai utilisé n'ont encore planté ainsi ;-)
[^] # Re: 8^D >>> moins lourdingue <<< 8^D
Posté par Nelis . En réponse à la dépêche Comparatif jsp/php. Évalué à 1.
Je suis tout à fait d'accord, c'est de cela que je parlais ... Weblogic utilise son propre moteur JSP/Servlet, Orion aussi, ...
Simplement il en existe forcément de mieux fait que d'autres ...
Comme cela a été dis, le debuggage des JSP est une catastrophe (Internal server error avec un numéro de ligne qui ne correspond pas à qq chose dans la page JSP)
La plupart des engines vont te donner : L'exception et le message associé, la stack trace complète, le numéro de la ligne DU JSP ou l'erreur s'est produite, ...
Donc le debuging n'est ABSOLUMENT pas une catastrophe, et je sais ce que j'avance, je le fais tous les jours :-)
Le principe de fonctionnement des JSP est un millefeuilles : les jsp sont traduits en servlet (une classe java qui enverra sur "stdout" ce qui doit être envoyé au navigateur), le code java de cette servlet est alors compilé en bytecode java qui va être chargé par le moteur de servlet et exécuté.
Effectivement cela se passe ainsi : lors d'une requete vers un JSP, l'engine regarde si le JSP a deja été compilé. Si oui, il l'execute, si non, il génère le servlet, le compile, puis l'exécute. Une fois que le JSP a été compilé, il ne devra plus l'etre. De plus, tout ça est 100% transparant pour le développeur.
particulier la difficulté pour s'interfacer avec des bibliothèques "natives"
Java est justement réputé pour s'interfacer avec un peu tout et n'importe quoi sans trop de problèmes ... Et ça se vérifie dans la pratique ! J'ai récemment du faire l'interfacage entre des bibliothèques C++ d'un logiciel de mathématique et du code Java, ça s'est passé sans problèmes !! J'ai du compiler du C ? Et alors ? Je ne vois pas le problème :-)
dans la version "out of process" de JSP/Servlet on notera qu'un plantage du moteur de Servlets (core ou Docteur Watson) bloque tout le site alors qu'un plantage identique en PHP ne bloquera que la requête en cours
Possible... Je ne sais pas ... Aucuns des Servlet engine que j'ai utilisé n'ont encore planté ainsi ;-)