Je souhaite exécuter une servlet pour obtenir le nom du serveur, le port du serveur et ContextPath à partir de la requête. Mais je ne veux pas invoquer servlet par l'interaction de l'utilisateur. Je veux excuter cette servlet par code Java. Je ne suis pas sûr que ce soit possible. S'il vous plaît donnez-moi une recommandation.Comment exécuter une servlet sans que l'utilisateur interagisse
Répondre
Pourquoi ne pas simplement utiliser URL pour demander le servlet.
Pour une utilisation plus sophistiquée, essayez HttpClient.
Si c'est ce que Chan essaie de faire, je pense que la question serait de savoir ce qui rend «l'utilisation de l'URL», puis ouvre la question de savoir quels devraient être les paramètres pour une telle demande. –
Oui, même j'ai essayé de le deviner intelligemment. La première partie n'est toujours pas claire pour moi, je veux dire "..pour obtenir le nom du serveur etc ..". –
Donc, essentiellement pour faire une demande à une servlet pour le démarrer sans faire une demande, vous faites une demande :) – pjp
Si vous voulez simplement exécuter du code pour extraire des informations de la requête, pourquoi essayez-vous d'appeler une servlet? Écrivez simplement une méthode quelque part, et appelez-la.
Vous pouvez également utiliser un filtre de servlet pour extraire cette information à chaque requête, ajouter les résultats à l'objet HttpServletRequest en tant qu'attribut, afin que tous les autres servlets qui traitent la requête puissent le trouver et l'utiliser.
Si vous voulez dire que vous voulez faire la charge de servlet au démarrage, vous pouvez ajouter ceci dans la configuration web.xml:
<servlet>
...
<load-on-startup>1</load-on-startup>
</servlet>
Si votre servlet fait quelque chose comme appeler un service toutes les x minutes sans interaction de l'utilisateur, alors vous voulez probablement faire quelque chose de différent.
Vous pouvez utiliser un ServletContextListener
pour écouter lorsque le contexte Web est démarré et pour démarrer le code souhaité.
http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletContextListener.html
Vous l'avez deviné aussi, n'est-ce pas. :) –
Merci pour vos réponses En fait, mon problème est: J'ai une application web et un WebService (sur le serveur diferent). Je souhaite que l'application web appelle webservice (après une durée spécifique) pour envoyer des données (domaine, port, chemin de contexte ..) au service web afin que je sache où mon application web est déployée.
Pour résoudre ce problème j'ai créé une servlet pour appeler WebService et en utilisant cette servlet j'ai l'objet HttpServletRequest et je peux obtenir le domaine, le port, le chemin de contexte. Ensuite, je peux envoyer des données au webservice. Mais je ne sais pas comment exécuter cette servlet (après une durée spécifique) sans intervention de l'utilisateur
- 1. Exécuter une méthode sans bloquer le client
- 2. En Python - comment exécuter une commande système sans sortie
- 3. Comment faire SVN exécuter une commande sans apporter de modifications
- 4. Comment exécuter une application adobe air sans Adobe Air Player?
- 5. Comment passer un paramètre à une servlet
- 6. Exécuter l'action sans la rediriger
- 7. Comment créer une servlet Java dans Eclipse?
- 8. Comment faire fonctionner Scala en tant que servlet sous Tomcat?
- 9. Comment exécuter runonce sans avoir à se connecter à l'administrateur
- 10. variables threadlocales dans une servlet
- 11. Exécuter des scripts PowerShell sans installer PowerShell?
- 12. Exécuter le script Python sans ouvrir Pythonwin
- 13. Comment arrêter un conteneur de servlet depuis un servlet?
- 14. Exécuter sifr sans actualisation de la page?
- 15. Exécuter une instruction après que le thread se termine
- 16. Exécuter une chaîne en tant que commande en python
- 17. Comment exécuter une commande dans une boucle jusqu'à ce que je vois une chaîne dans stdout?
- 18. Comment exécuter SWF sans navigateur (sur un serveur Linux)?
- 19. Netbeans + servlet
- 20. Servlet ou POJO entraînant une application Web
- 21. Comment faire une tâche FTP SSIS exécuter un script FTP plutôt que de télécharger un fichier?
- 22. Exécuter une fois par jour
- 23. comment exécuter une URL ou un lien hypertexte sans quitter la page existante en utilisant asp.net
- 24. Que signifie exécuter un système d'exploitation virtuel en "mode sans tête"?
- 25. Comment créer une servlet avec jruby (avec jetty)?
- 26. Comment exécuter un fichier binaire que ni Windows ni Cygwin ne peuvent exécuter?
- 27. Comment exécuter une fonction immédiatement après l'authentification
- 28. comment exécuter une procédure stockée en continu?
- 29. Comment identifier l'opération à effectuer dans une servlet?
- 30. Exécuter une procédure stockée dans une vue?
Qu'entendez-vous par run? Instancier une servlet ou réellement frapper l'une des méthodes doX? –
Veuillez clarifier ce que vous essayez de faire. – pjp
Pour faire une demande vous avez déjà besoin de l'URL, du port, etc. Quelle est la fonctionnalité que vous essayez d'atteindre ici? Il y aura un moyen d'y parvenir, j'en suis sûr, mais pas avec le mécanisme que vous proposez. –