Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2942 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Servlet : sur un serveur particulier, l'encodage d'url pose pb

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Servlet : sur un serveur particulier, l'encodage d'url pose pb

n°764155
El_gringo
Posté le 15-06-2004 à 12:53:18  profilanswer
 

Sur mon PC, tout roule.
Sur un serveur de prod, tomcat me rend une erreur 404 avec le message d'erreur suivant :
La ressource demandée (/interface/lds_records.jsp;jsessionid=4E1B8A526DD5EFFC9DB980F3E29EFD0E) n'est pas disponible.
Je soupçonne le bout de code suivant d'être responsable de ça (plus particulièrement le "encodeURL" :

Code :
  1. String encodedUrl = _response.encodeURL(_url);
  2.         RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(encodedUrl);
  3.         dispatcher.forward(_request, _response);


 
Quelqu'un a une explication au fait que le changement de serveur pose ce pb ?

mood
Publicité
Posté le 15-06-2004 à 12:53:18  profilanswer
 

n°764387
El_gringo
Posté le 15-06-2004 à 14:23:44  profilanswer
 

Petit complément : ce message sort quand la session viend d'être construite. Au 2e appel par un explorateur web (actualisation de la page), l'erreur ne se produit plus.


Message édité par El_gringo le 15-06-2004 à 14:24:48
n°764395
benou
Posté le 15-06-2004 à 14:26:26  profilanswer
 

c'est n'importe quoi ton truc là ...
pkoi tu fais un response.encodeUrl() avant de fair un dispatch ?????
 
tu crois faire quoi en faisant ca ?


---------------
ma vie, mon oeuvre - HomePlayer
n°764425
El_gringo
Posté le 15-06-2004 à 14:37:39  profilanswer
 

Avec ça, je croyais inclure, si besoin est, l'id de session dans la requète (si les cookies ne sont pas acceptés par le client par exemple). Je me plante apparement. Je dois l'utiliser quand alors cet encodeURL ?

n°764438
benou
Posté le 15-06-2004 à 14:40:18  profilanswer
 

El_gringo a écrit :

Avec ça, je croyais inclure, si besoin est, l'id de session dans la requète (si les cookies ne sont pas acceptés par le client par exemple). Je me plante apparement. Je dois l'utiliser quand alors cet encodeURL ?


un dispatch c'est une redirection serveur : tu passes la requête d'une servlet à une autre. Ca repasse pas par le client => ca ne sert à rien de voiloir ajouté l'id de session. Si dans la première servlet, tu as la session, tu l'auras aussi dans la 2e, et inversement.


---------------
ma vie, mon oeuvre - HomePlayer
n°764442
benou
Posté le 15-06-2004 à 14:41:20  profilanswer
 

C'est au pralable (dans les pages HTML générée) que tu dois avoir ajouté l'id de session :  
 
<a href="<%= reponse.encodeURL("index.html" )%>">coucou</a>


---------------
ma vie, mon oeuvre - HomePlayer
n°764463
El_gringo
Posté le 15-06-2004 à 14:46:56  profilanswer
 

benou a écrit :

un dispatch c'est une redirection serveur : tu passes la requête d'une servlet à une autre. Ca repasse pas par le client => ca ne sert à rien de voiloir ajouté l'id de session. Si dans la première servlet, tu as la session, tu l'auras aussi dans la 2e, et inversement.


 
Je sais que c'est une redirection server. J'avais pas vu les choses comme ça. Merci.
D'ailleurs, au passage, je sais pas si c'est super clean : desfois lors d'une redirection serveur, j'en profite pour ajouter des paramètres (en ajoutant des ?monparam1=maval1&mmoparam2=maval2). je doute que ça soit bien propre, mais sous Tomcat ça fonctionne.


Message édité par El_gringo le 15-06-2004 à 14:51:38
n°764480
benou
Posté le 15-06-2004 à 14:53:14  profilanswer
 

El_gringo a écrit :


D'ailleurs, au passage, je sais pas si c'est super clean : desfois lors d'une redirection serveur, j'en profite pour ajouter des paramètres (en ajoutant des ?monparam1=maval1&mmoparam2=maval2). je doute que ça soit bien propre, mais sous Tomcat ça fonctionne.


bha, je vois pas d'inconvénient à utiliser ca ... et c'est pas spécifique Tomcat : ca fait parti de la norme servlet2.3 => tous les moteurs de servlet doivent gérer ca.


---------------
ma vie, mon oeuvre - HomePlayer
n°764482
El_gringo
Posté le 15-06-2004 à 14:54:33  profilanswer
 

Ha, ben c'est cool ça. J'en doutait, ça me parraissait "bidouille". Dans le cas contraire, je comprend pas pourquoi la classe HttpServletRequest n'a pas de méthode "setParameter"

n°764492
benou
Posté le 15-06-2004 à 14:59:19  profilanswer
 

El_gringo a écrit :

Ha, ben c'est cool ça. J'en doutait, ça me parraissait "bidouille". Dans le cas contraire, je comprend pas pourquoi la classe HttpServletRequest n'a pas de méthode "setParameter"


parce que ca représente la requête sous forme d'objet et que cette requête t'as été envoyé par l'utilisateur et n'est donc pas modifiable. le coup du dispatch avec des paramêtres en plus ne modifie pas la requête mais ca l'encapsule dans un wrapper (HttpServletRequestWrapper) qui se comportera "comme si" la requête contenait les paramètres supplémentaires.


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 15-06-2004 à 14:59:19  profilanswer
 

n°764510
El_gringo
Posté le 15-06-2004 à 15:08:32  profilanswer
 

ok. Merci beaucoup pour la petite expliquation.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Servlet : sur un serveur particulier, l'encodage d'url pose pb

 

Sujets relatifs
Pas de déployement sur le serveurSe connecter au serveur MySQL de Free ?
[Servlet] Comment passer 2 objets à une servlet depuis une applet ?Formulaire HTML, parametre "action" pointant sur un autre serveur
[RMI]Tester si il Existe bien un Serveur a une @Ipmettre en prioriété un processus sur un serveur !!
[php-flash]repertoire de serveur[Servlet]Ouverture d'un fichier non HTML
[php] lancement de serveurfonction pour connexion serveur + regex
Plus de sujets relatifs à : Servlet : sur un serveur particulier, l'encodage d'url pose pb


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR