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 :

Acceder getServerName() depuis ServletContextListener


Sujet :

Servlets/JSP Java

  1. #1
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut Acceder getServerName() depuis ServletContextListener
    Bonjour,
    je souhaite récupérer :
    getServerName() getServerPort();
    depuis une classe qui implémente ServletContextListener, qu'elle solution préconisez-vous ? , dois-je faire hériter cette classe de GenericServlet ?

    Merci

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je te suggère de passer par une classe initialisée au démarrage du serveur contenant 2 propriétés static, tu pourras ainsi récupérer les valeurs de n'importe quelle classe.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Bonjour OButterlin et merci
    Citation Envoyé par OButterlin Voir le message
    classe initialisée au démarrage du serveur
    D'accord mais, je ne vois pas comment faire pour récuperer le nom et le port du serveur

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Via HttpRequest, tu as 2 méthodes :

    - getLocalName()
    - getLocalPort()

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Via HttpRequest, tu as 2 méthodes :

    - getLocalName()
    - getLocalPort()

    A+

    Je pense que tu veux parler de HttpServletRequest, cependant j'ai du mal a le mettre en ouvre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
        public class ContextListenerAide  implements ServletContextListener {
     
           protected static final ResourceBundle RESOURCE_BUNDLE= ResourceBundle.getBundle("monProp");
           public Aide aide;
     
    	public void contextDestroyed(ServletContextEvent event) {}
     
    	public void contextInitialized(ServletContextEvent event) {
     
                 String NOM_PORT  = "http://localhost:8084";
                 String CONTEXT_PATH = "/ApplicationAide";
     
                 FormatXmlAide fXmlAide = new FormatXmlAide();
                 fXmlAide.EcritAideXml(NOM_PORT, CONTEXT_PATH);
     
                this.setUserType();
                event.getServletContext().setAttribute("aide", this.aide);
    	}

    Si je fais hériter ContextListenerAide de HttpServletRequest, je ne sais pas comment récupérer la request pour faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                String NOM_PORT  = "http://"request.getLocalName()+":"+request.getLocalPort();

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Effectivement, je voulais parler de HttpServletRequest ou ServletRequest (j'ai coupé au mauvais endroit, désolé...)

    Je pensais à une servlet ou une page JSP initiale (type login par exemple) qui extrait les 2 paramètres et les stockes dans des propriétés statiques d'une classe. Ensuite, tu y accèdes d'où tu veux...

    Je ne comprends pas trop le besoin, pourrais-tu le préciser ?
    Je ne suis pas certain que le contexte servlet soit adapté...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Je crée un fichier.xml qui se construit notamment avec le contenu de certains valeurs issues de fichiers poperties. J'ai choisi de créer ce fichier.xml au lancement de l'appli, car normalement les fichiers.properties sont initialisé 1 fois pour toute par l'adminsitrateur du site lors de la mise en prod du site.

    Seulement pour pouvoir écrire mon fichier.xml sous un des répertoires de la webapp, dans le cas d'un ecriture au chargement du Context, j'essaye de récupérer
    - getLocalName()
    - getLocalPort()

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    D'après ce que je vois du code que tu as fourni, il semblerait qu'il s'agisse d'une aide.
    Cette aide est appelée d'une application web ?
    Si oui, comment ?
    Pourquoi as-tu besoin d'une url complète ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Cette aide est appelée d'une application web ?
    Si oui, comment ?
    Oui l'aide est un fichier.xml exposé dans une page.jsp via ajax pour qu'une fois le sommaire chargé, seul les paragraphes sélectionnées soient postés.
    Je sais qu'il exist javaHelp, mais les applets ne sont pas autorisés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     String NOM_PORT  = "http://" +request.getServerName() + ":" + request.getServerPort();
     String CONTEXT_PATH = request.getContextPath();
     File file = new File(NOM_PORT+"/"+CONTEXT_PATH+"/help/aideEnLigne.xml");
    Merci de ton aide, en effet l'url n'est peut-être pas nécessaire..

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Si tes fichiers d'aide sont dans le serveur web, il serait préférable d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getSession().getServletContext().getRealPath("/repertoireAide/fichierAide.xml");
    pour récupérer le chemin physique pour new File(...)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Merci OButterlin
    je vais utiliser :
    public void contextInitialized(ServletContextEvent event)
    event.getServletContext().getRealPath

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Acceder à Mysql depuis OpenOffice
    Par RegisGV dans le forum Administration
    Réponses: 4
    Dernier message: 25/01/2012, 17h11
  2. Recupérer le contextePath depuis ServletContextListener
    Par totoche dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 21/03/2011, 12h03
  3. Réponses: 3
    Dernier message: 06/10/2009, 13h37
  4. acceder à Kubuntu depuis un autre pc client
    Par cdevl32 dans le forum Réseau
    Réponses: 7
    Dernier message: 24/03/2009, 23h08
  5. Tutoriel Acceder à INTERBASE depuis ACCESS
    Par miniworker dans le forum InterBase
    Réponses: 3
    Dernier message: 15/02/2007, 11h35

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