Main Contents

JSP : pourquoi ?

Coding, Cours

Je ne suis pas en train de faire des infidélités à PHP et je n’ai pas non plus l’intention de lancer un troll dans le style “PHP vs JSP”, mais je viens d’avoir mon premier TD de JSP et je me demande qui l’utilise, et surtout pourquoi ?

Le JavaServer Pages ou JSP est une technologie basée sur Java qui permet aux développeurs de générer dynamiquement du code HTML, XML ou tout autre type de page web. La technologie permet au code Java et à certaines actions prédéfinies d’être ajoutés dans un contenu statique.

(Source : wikipedia)

Ce qui me dérange pour commencer, c’est la syntaxe. Je ne veux pas passer pour un malade, mais je suis plutôt sensible au “charisme syntaxique” d’un langage de programmation. En gros, je risque de ne pas m’y intéresser si je trouve ça “moche” et en toute objectivité (si on part du principe qu’un développeur PHP peut être objectif en parlant d’un langage visiblement concurrent) le JSP, c’est plutôt moche :

<%@ include file="unAutreFichier" %>
<%@ page import="java.util.*" %>
<% int variable = 0; out.println("On peut aussi écrire des variables : " + variable); %>

On retrouve bien la syntaxe du java avec notamment le typage des variables mais j’avoue ne pas accrocher, étant pourtant plutôt fan du Java et des possibilités qu’il offre (malgré une lenteur de plus en plus discutable). Il faut aussi savoir que JSP tourne à l’aide de tomcat, et je ne sais pas bien comment il marche mais rien qu’aujourd’hui, en 1h30, j’ai rencontré plusieurs soucis :

  • Je modifie un script, rafraîchit la page contenant les résultats de ce script, mais non la page ne change pas ou quelques minutes après.
  • Je déclare une variable, l’initialise à 0, l’incrémente de 1, puis l’affiche. Résultat, la variable est incrémentée à chaque rafraîchissement de la page alors que ce n’est pas une variable de session (j’ai même désactivé les sessions pour cibler le problème), ni une variable “d’application” et qu’en vidant le cache ou en relançant le navigateur rien ne change (le prof ne savait pas non plus, donc ce n’était pas une erreur de néophyte).
  • Un message d’erreur qui apparaît, on rafraîchit, le message change.

Peut-être que le peu d’expérience que j’ai dans le domaine joue la dessus, mais je ne comprends pas pourquoi utiliser le jsp. Pour du web, php reste de loin un langage plus pratique (car facile à installer et à appréhender) et peut même s’intégrer avec Java. Si des développeurs pro-jsp passent par la, j’aimerais comprendre parce qu’il y a visiblement un intérêt qui m’échappe. Merci ;-).

Palleas @ février 6, 2008

15 commentaires

  1. Jean-Philippe Tessier février 6, 2008 @ 20:08

    Franchement, j’ai déjà réalisé un projet 6 mois avec, et c’est l’horreur à la fin !

    Ce qui est bien, c’est que c’est bien structuré, idéal pour travailler en groupe de développeurs.

    Mais tout seul il faut mieux arrêter tout de suite ! C’est pas bien prévu pour le web !!

  2. Palleas février 6, 2008 @ 20:21

    Jean-Phillippe Tessier :o
    Mais j’avais postulé pour web-expect quand je recherchais une entreprise pour l’alternance, le monde est petit !

    Comme je l’ai dis, ce billet est véritablement une réaction à chaud, mes première impressions vis à vis du langage, j’attends donc la suite ;).

  3. Meshvere février 6, 2008 @ 20:52

    je compatis à votre douleur (les SRC2 dans leur ensemble)

    j’en ai mangé 2ans de suite et j’arrive toujours pas à accrocher, j’ai tout juste compris comment faire fonctionner ce bourrier pour pas trop me rammasser à l’exam cette année…

    une piste pour t’aider (peut-être) :
    le .jsp sert juste a faire des jolies bout de code html, tout le traitement ce fait dans la servlet (une autre forme de truc bizarre et totalement pourrave pour des petits projets comme tu vas faire à l’IUT)
    mais tu peux tout faire directement dans la servlet et dire “prout” au jsp ^^
    mais je sais pas si ça plaira au prof…

  4. NoONe février 6, 2008 @ 22:56

    Ouais, le système de Servlet c’est plus ou moins la philosophie MVC qui revient. On pourrait tout aussi bien tout développer dans le même fichier.

    Moi j’dis, quitte a vouloir être dans la philosophie MVC, autant développer sous RoR.

  5. Meshvere février 6, 2008 @ 23:10

    a la base le cours que vous suivez c’est ça : MVC

    JSP c’est juste une mise en application de ce patron de conception, ça pourrait être du JSP/Servlet, du Ruby, du C++, du Java, du PHP ou du VB voir du basic ça changera rien à la conception du modele, c’est juste de la traduction

    même director on peut faire du MVC avec (après avoir lutté mais bon …)

  6. NoONe février 6, 2008 @ 23:12

    Moi, je lis “Système d’information 2″. Le rapport avec MVC je le vois pas tout de suite. Et je le vois encore moins avec le “Système d’information 1″ et PHP :roll:

    (et dire que j’ai entendu dire que le PHP c’était magique… Bah c’est pas mal non plus le JSP :))

  7. Meshvere février 6, 2008 @ 23:14

    En parlant de Director j’ai appris qu’une nouvelle version était actuellement en béta test : http://www.adobe.com/products/director/special/crossproduct/faq.html
    de ce que j’en sais ils vont s’orienté sur les jeux et particulierement en 3D

    a quand un counter, quake ou unreal en full director ?

  8. Meshvere février 6, 2008 @ 23:20

    Il est vrai que l’intitulé du cours ne reflete pas bien le contenu de celui-ci …
    surtout qu’on le traduit par “cours de PHP” et “cours de JSP” ce qui aide encore moins ^^

    avec l’UML&co que tu vas avoir dans les CMs il veut vous faire faire du MVC et de la modélisation plus généralement

    les cours sur les architectures clients/serveur et n-tiers ok c’est du SI mais PHP et JSP … a peine un outil du SI, la modélisation reste la meme quelque soit le langage qu’il y a derriere ;)

  9. Hugo février 7, 2008 @ 11:19

    Pareil pour moi je me demande l’intérêt de Java pour du Web… Même si je n’en ai jamais fait.

    Je fais déjà une allergie à Java, alors développer du Web en Java, je n’y compte même pas ^^ Je préfére profiter de la puissance et de la richesse du langage PHP pour ça. Surtout quand on a de beaux frameworks à portée de main du type Symfony :P

  10. Julien Tartarin février 7, 2008 @ 11:29

    Le Java est plébiscité par ceux qui ont peur de l’Open Source, de la nouveauté et du changement.

    Donc : les grosses boîtes, et les boîtes dont les patrons (ou décideurs) n’y connaissent rien. Et les boîtes qui ont embauché 25 développeurs Java et qui ne veulent ni les virer ni les former (puisque ça coûterait trop cher et que ça ne marcherait pas).

  11. olympi février 7, 2008 @ 11:29

    “Ce qui me dérange pour commencer, c’est la syntaxe. Je ne veux pas passer pour un malade, mais je suis plutôt sensible au “charisme syntaxique” d’un langage de programmation.”

    Et l’autre il aime bien le php, la blague.

  12. Palleas février 7, 2008 @ 13:11

    @Olympi : Non mais j’ai été traumatisé par la coloration syntaxique surtout (notepad++ et Eclipse seulement pour l’instant) mais je suppose que ça se personnalise :]

    Pour en avoir parlé avec not’ chef de département, il recoit pas mal de demande de boites qui eux veulent des sites en jsp. Pourquoi ? Plus secure que le php. (Quasi Texto)

    Mine de rien c’est vrai, php est plus permissif et ce sont des choses qu’on aura moins facilement avec un langage bien plus strict. J’ai quand même dit que quand on voulait un code secure, on pouvait mais tout le monde ne pense pas ça (adeptes du quick & dirty, besoin d’une appliWeb pour hier…)

    Mais ne partons pas en troll, j’attends de voir ce que donne le jsp en vrai, c’est pas avec un seul TD que j’aurais un avis objectif.

    @Julien : le java c’est quand même superpuissant :]

  13. Meshvere février 7, 2008 @ 20:58

    au moins un avantage du JSP par rapport au PHP c’est qu’en POO c’est pas tout un bordel pour conserver les objets
    Après je m’y prend ptete (surement) mal mais que je sache c’est la misere (faut serialiser dans tous les sens …)

  14. Palleas février 7, 2008 @ 21:13

    Sur Nextwizard c’est le cas, je serialise des objets pour les mettre en session et ca ne me pose aucun problème (j’avais eu un problème au début à cause de la visibilité de mes propriétés : private au lieu de protected) c’est même plutôt pratique puisque ça permet d’utiliser les méthodes magiques __sleep() et __wakeup() :)

  15. NK février 8, 2008 @ 13:41

    c’est marrant j’étais justement entrain de me lamenter sur mon projet de jsp lorsque qu’en démarrant ma page iGoogle j’ai vu ce post :]

Suivre les commentaires de ce billet par RSS

Laisser un commentaire