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

  FORUM HardWare.fr
  Programmation
  Java

  Est-il possible de modifier à la volée l'URL d'une HttpServletRequest?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Est-il possible de modifier à la volée l'URL d'une HttpServletRequest?

n°1888099
schumacher
Posté le 26-05-2009 à 16:45:45  profilanswer
 

Salut à tous,
 
Je bosse sur une appli web hébergée sous Tomcat.
 
Il est imposé que figure dans l'URL une information métier.
 
Par exemple :
 

Code :
  1. http://serveur:8080/monAppli/infoMetier/page.jsp


 
La raison est simple, des filtres sont ensuite appliqués sur l'URL pour des raisons de sécurité.
 
Le choix de l'information métier s'effectue sur la page d'accueil qui redirige ensuite sur la bonne URL (incluant l'info métier sélectionnée au préalable).
 
Pour gérer ça, je n'ai rien trouvé de mieux que de faire une bidouille au niveau du server.xml de Tomcat :
 

Code :
  1. <Context path="/monAppli/infoMetier_1" docBase="cheminVersMonAppli"/>
  2. <Context path="/monAppli/infoMetier_2" docBase="cheminVersMonAppli"/>
  3. <Context path="/monAppli/infoMetier_3" docBase="cheminVersMonAppli"/>
  4. ...


 
Vous remarquerez que le docBase est identique pour chaque URL, ce qui signifie que les différentes URL atterrissent sur le même code.
 
C'est bête car cela revient à charger plusieurs fois la même application web.
 
J'ai pensé me brancher sur un bout de code pour systématiquement récupérer l'URL et la modifier à la volée mais ce n'est pas si simple. Je ne vois rien qui me permette de faire ça au niveau de l'objet HttpServletRequest.
 
Auriez-vous une solution plus élégante ? :jap:


Message édité par schumacher le 26-05-2009 à 16:47:35
mood
Publicité
Posté le 26-05-2009 à 16:45:45  profilanswer
 

n°1888117
souk
Tourist
Posté le 26-05-2009 à 17:35:56  profilanswer
 
n°1888145
schumacher
Posté le 26-05-2009 à 18:32:47  profilanswer
 


 
Lien très intéressant, merci. :jap:  
 
En fait j'utilise déjà une Servlet Filter pour gérer les utilisateurs et les droits d'accès à mon appli.
 
Problème, voilà ce qui est mis à ma disposition :
 

Code :
  1. public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
  2. {
  3. }


 
Je suis capable de récupérer l'URL de la requête :
 

Code :
  1. public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
  2. {
  3.   HttpServletRequest httpRequest = (HttpServletRequest) request;
  4.   String url = httpRequest.getRequestURL().toString();
  5. }


 
J'ai bien vu sur ton lien qu'on pouvait modifier l'encoding, rajouter des paramètres, ... mais je ne vois rien qui me permette de modifier à la volée l'URL.
 
On ne peut pas faire grand chose finalement avec ce HttpServletRequest : http://java.sun.com/j2ee/1.4/docs/ [...] quest.html :cry:


Message édité par schumacher le 26-05-2009 à 18:34:40
n°1888164
souk
Tourist
Posté le 26-05-2009 à 19:22:45  profilanswer
 

tu peux las wrapper et changer ce que tu veux dedans, overrider les methodes que tu veux ( http://java.sun.com/j2ee/1.4/docs/ [...] apper.html )
tu peux aussi forwarder la request vers ce qui va bien etc


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

  Est-il possible de modifier à la volée l'URL d'une HttpServletRequest?

 

Sujets relatifs
Function Url_encode/Url_decodemodifier phatfusion
Modifier texte couleur formulaire en PHP[VBS] Est-il possible d'intercepter un kill
Algo de compression à la voléeBatch modifier masque d'une addresse IP sur une carte réseau
un tableau collé a gauche et en haut est-ce possible ?[Regex] Modifier valeur d'un attribut
S'autoformer à C, C++, ou java etc., possible? Réaliste?optimisation MySQL possible ? [Résolu]
Plus de sujets relatifs à : Est-il possible de modifier à la volée l'URL d'une HttpServletRequest?


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