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
Version imprimable
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
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.
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:
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:
1
2 String NOM_PORT = "http://"request.getLocalName()+":"+request.getLocalPort();
Effectivement, je voulais parler de HttpServletRequest ou ServletRequest (j'ai coupé au mauvais endroit, désolé...:aie:)
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é...
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
:calim2:Citation:
- getLocalName()
- getLocalPort()
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 ?
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.Citation:
Cette aide est appelée d'une application web ?
Si oui, comment ?
Je sais qu'il exist javaHelp, mais les applets ne sont pas autorisés
Merci de ton aide, en effet l'url n'est peut-être pas nécessaire..Code:
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");
Si tes fichiers d'aide sont dans le serveur web, il serait préférable d'utiliser
pour récupérer le chemin physique pour new File(...)Code:
1
2 request.getSession().getServletContext().getRealPath("/repertoireAide/fichierAide.xml");
Merci OButterlin
je vais utiliser :
Citation:
public void contextInitialized(ServletContextEvent event)
event.getServletContext().getRealPath