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

Tomcat et TomEE Java Discussion :

Obtention des numéros de port Tomcat par programme (Lib java).


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Ingénieur d'étude spécialisé en GED BPM
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'étude spécialisé en GED BPM

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Par défaut Obtention des numéros de port Tomcat par programme (Lib java).
    Bonjour,
    Je désire lire à partir de mon application web les numéros de port utilisés par Tomcat 5.5.

    La configuration de Tomcat 5.5 est effectuée au niveau du fichier ${patch_install}\apache-tomcat-5.5.20\conf\server.xml

    Pour interagir avec Tomcat avec le protocole HTTP, on doit préciser le numéro de port, par défaut c'est 8080 (cela est inscrit dans l'élément Connector)

    Pour interagir avec Tomcat avec le protocole HTTPS, on doit préciser le numéro de port, par défaut c'est 8443 (cela est inscrit dans l'élément Connector)

    Comment peut on obtenir ces numéros de port ?
    Y a-t-il une classe utilitaire java fournie avec la librairie Apache Tomcat pour ce genre d'usage ?

    Merci pour vos réponses.
    Cordialement.
    Dy.cameleon

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    [hors sujet]
    pour quelles raisons as-tu besoin des numéros de port ? (en fonction de la réponse, ce n'est peut-être pas du hors sujet)
    [/hors sujet]
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    As-tu essayé request.getServerPost() ?

  4. #4
    Membre du Club
    Profil pro
    Ingénieur d'étude spécialisé en GED BPM
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'étude spécialisé en GED BPM

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Par défaut
    En faite, j'ai besoin d'obtenir c'est numéros de port pour pouvoir effectue des redirections.

    Voici l'idée :
    Mon application contiendra plusieurs modules fonctionnelles.
    1. Module d'authentification accessible en mode sécurisé (HTTPS).
    2. Les autres modules en mode non sécurisé (HTTP).

    Chaque module est accessible à travers un pattern d'url.
    Mon application aura évidement un filtre (javax.servlet.Filter).

    Je doit rediriger l'utilisateur vers la bonne page avec la bonne URL.

    Voici un exemple:
    Si l'utilisateur tape http://localhost:8056/myApp/login/
    Je doit le rediriger vers https://localhost:8400/myApp/login/

    Bien sure j'ai pris soin de mettre des numéros de port diffèrent des numéros de port par défaut, pour mieux expliciter les contraintes qui me pousse à poster ce message

    Concernant la fonction getServerPort(), elle ne renvoi que le numéro de port de l'url qui a déclenché la requête.
    Exemple:
    http://monserveur:8080/myapp/mypage.jsp
    request.getServerPort() = 8080

    Elle ne me permet pas d'avoir le numéro de port du HTTPS.

    Cordialement.
    Dy.cameleon

  5. #5
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Tu n'aurais donc pas besoin de connaître dynamiquement le numéro de port ?
    Tu pourrais très bien passer par un fichier de configuration qui est construit lors de l'installation de ton application. Le programme d'installation n'aura qu'a aller chercher les informations dans le server.xml.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  6. #6
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    Tu dois effectivement accéder au bas niveau de Tomcat ! Si tu fais ça, je te conseille de faire attention à ton architecture, que ce code soit en marge de ton code métier, pour que tu ne dépendes pas trop de Tomcat.

    Tu peux récupérer l'ensemble des objets Connector de Tomcat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ServerFactory.getServer().findServices(); // il n'y a en général qu'un seul service.
    Puis, à partir du service, tu peux récupérer la liste des connecteurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    service.findConnectors();
    A toi de sélectionner les connecteurs qui t'intéressent.

    Eventuellement, tu récupère le connecteur de ta requête HTTP, en fonction du port (cf. réponse précédente), puis tu récupère le port de redirection (getRedirectPort) pour avoir le port SSL.

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

Discussions similaires

  1. ouvrir Port 4900 par programmation
    Par khlzk dans le forum WinDev
    Réponses: 18
    Dernier message: 08/05/2015, 13h02
  2. [Xp] Connaitre la liste des ports utilisés par mon PC
    Par FoxDeltaSierra dans le forum Windows XP
    Réponses: 8
    Dernier message: 18/05/2012, 10h53
  3. numéro de port Tomcat
    Par ilhamita dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 16/03/2007, 16h58
  4. Comment gérer des services par programmation avec Delphi ?
    Par isachat666 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 18/12/2005, 18h54
  5. [Tomcat]TomCat par le port 80?
    Par jujuz dans le forum Tomcat et TomEE
    Réponses: 31
    Dernier message: 16/03/2005, 10h45

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