Obtention de l’adresse du serveur et du nom de l’application

Environnement: NetBeans 6.9.1, GlassFish 3.1

J’ai une application Web Java. Comment obtenir dynamicment l’adresse du serveur et le nom de l’application? La solution ‘2in1’ serait la meilleure pour moi: http://localhost:8080/AppName/ .

Existe-t-il un moyen pratique d’obtenir cette information?

Disons que la valeur de AppName sera corrigée, je n’ai donc besoin que de l’adresse de l’hôte. Est-il possible de le récupérer via JMX? De toute autre manière?

L’object HttpServletRequest vous donnera ce dont vous avez besoin:

  • HttpServletRequest#getLocalAddr() : l’adresse IP du serveur sous forme de chaîne
  • HttpServletRequest#getLocalName() : nom du serveur recevant la demande.
  • HttpServletRequest#getServerName() : nom du serveur auquel la demande a été envoyée.
  • HtppServletRequest#getLocalPort() : port HtppServletRequest#getLocalPort() le serveur a reçu la demande.
  • HttpServletRequest#getServerPort() : le port HttpServletRequest#getServerPort() la demande a été envoyée
  • HttpServletRequest#getContextPath() : la partie du chemin qui identifie l’application

Dans une servlet, vous pouvez l’obtenir comme ceci

 public static Ssortingng getUrl(HttpServletRequest request) { return request.getRequestURL().toSsortingng(); }