IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Comportement différent entre local et serveur


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 32
    Points : 32
    Points
    32
    Par défaut Comportement différent entre local et serveur
    Salut

    J'ai quelques souci depuis que j'ai déployé sur mon serveur privé une appli qui fonctionne parfaitement en local.
    Déjà pour faire un résumé technique :

    local : tomcat 7.0.4 + jre1.6.0_22

    serveur : idem + Apache2.2 avec conf VirtualHosts + proxyAJP pour rediriger mon nom de domaine vers une appli tomcat spécifique (www.truc.fr -> hostServeur:portTomcat/nomAppli).
    Tout ceci tournant sur un serveur privé RPS OVH sous Debian

    1) Problème avec les sessions :
    - En local une fois l'utilisateur authentifié je peux me promener librement sur l'application
    - Sur le serveur, dès que je change de page la session utilisateur est inexistante, comme si la session n'était pas valable plus d'une page !

    2) Problème avec Ajax : les requêtes ajax s'effectuent sur des servlets qui renvoient une réponse de type xml
    - en local fonctionnement parfait
    - sur le serveur, le code des servlets est correctement executé, mais la valeur responseXML de l'objet XMLHttpRequest renvoyé (xhr pour les intimes) est égale à null...

    EDIT : J'ai laissé un port accessible en HTTP sur le tomcat du serveur, et il s'avère que quand j'accède à mon appli sans passer par le proxy AJP les problème 1 et 2 ne se reproduisent plus... so what's the problem ??

    3) Enfin je ne comprend pas pourquoi sur le serveur pour revenir à une page à la racine de l'application je dois ajouter un "../" de plus au chemin.... Pourtant la structure de l'application reste la même.

    Voilà je crois que c'est tout et c'est déjà beaucoup trop à mon goût. J'ai mentionné les problèmes par ordre de gravité, le 1 est crucial.
    Je ne sais pas s'il manque quelque-chose au niveau de la config de tomcat par rapport aux sessions, j'avoue ne rien avoir configuré de spécial (à part le connecteur dans server.xml pour gérer le proxy AJP).

    Je sèche, j'ai passé la journée à m'arracher les cheveux. Si quelqu'un peut me filer un tuyau c'est cool

    Très bon weekend à tous
    Guillaume

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Bonjour

    1) Problème avec les sessions :
    Il te faut faire le lien entre la session et la requête retournée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpSession session = req.getSession(true);
    2) Problème avec Ajax:
    En ce qui concerne AJAX si tes servlets sont exécutées, envois tes requêtes en "POST".

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 32
    Points : 32
    Points
    32
    Par défaut
    Salut !

    Merci pour ta réponse Georges

    J'ai essayé ce que tu m'as dit pour la session mais ça ne changeait rien au problème. D'ailleurs pour obtenir la session dans une servlet on est obligé de l'avoir via l'objet HttpServletRequest, mais dans une jsp en quoi l'objet session accessible de base n'est-il pas lié à la requête ?

    En tout cas j'ai résolu mon problème en ajoutant le paramètre ProxyPassReverseCookiePath dans la configuration du VirtualHost au niveau d'apache, depuis mes sessions marchent nickel
    Pour ceux qui rencontreraient le même souci, voici ce que ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # Domaine guirip
    <VirtualHost *:80>
        DocumentRoot /usr/share/tomcat/webapps/votre_appli/
        ServerName www.votre_domaine.fr
        ServerAlias votre_domaine.fr
     
        ProxyPass / ajp://localhost:8090/votre_appli/
        ProxyPassReverse / ajp://localhost:8090/votre_appli/
        ProxyPassReverseCookiePath /votre_appli /
     
        ...
    </VirtualHost>
    (port tomcat à adapter à votre config également)
    (Attention à ne pas oublier l'espace entre les deux paramètres à la ligne ProxyPassReverseCookiePath)

    3) Du coup je m'étais dit que ça réglerait le problème 3 dans la foulée, mais non. Celui-ci restant vraiment mineur et peu dérangeant vu que ce lien est défini dans le fichier de propriété de mon application.

    2) Enfin pour ce qui est du souci avec Ajax, je ne suis pas sur de comprendre ce que tu veux dire. Mes servlets sont toutes appelées via la méthode post, et correctement exécutées, il semble y avoir un problème dans le cheminement de la réponse xml. Tu me dis de renvoyer la réponse en post ?... moi pas bien comprendre

    Au passage, c'est peut-être sale mais voici comment mes réponses xml sont envoyées :
    response.getWriter().write( AjaxTool.getAjaxResponseKoSession() );

    (La classe AjaxTool étant un outil me permettant d'obtenir différents modèles de réponses xml selon les cas et d'ajouter si besoin des paramètres, le tout étant géré à l'arrivée par un autre outils javascript commun à l'appli)

    Merci encore pour l'aide
    Bon dimanche à tous

Discussions similaires

  1. Comportement différent en local et sur serveur
    Par CinePhil dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/03/2012, 15h41
  2. Réponses: 12
    Dernier message: 26/10/2007, 16h27
  3. [AJAX] Comportement différent entre IE et FF2
    Par pacopau dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/02/2007, 19h18
  4. [HTML] Accents : comportement différent en local et en distant
    Par tut dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/01/2007, 19h17
  5. Comportement différent entre un bouton et une image
    Par MicheMTP13 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 07/11/2005, 08h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo