Maison > Java > javaDidacticiel > Que renvoie ServletContext.getRealPath('/') et quand dois-je éviter de l'utiliser ?

Que renvoie ServletContext.getRealPath('/') et quand dois-je éviter de l'utiliser ?

Patricia Arquette
Libérer: 2024-12-19 22:54:11
original
736 Les gens l'ont consulté

What does ServletContext.getRealPath(

Quelle est la signification de servletcontext.getRealPath("/")?

Le ServletContext#getRealPath( ) traduit un chemin de contenu Web (le chemin dans la structure de dossiers WAR étendue sur le fichier disque du serveur system) vers un chemin absolu du système de fichiers du disque.

Le "/" passé à getRealPath() représente la racine du contenu Web, le dossier /web dans la structure de projet suivante :

 |-- src<br> |    :<br> |<br> |-- web<br> |    |-- META-INF<br> |    |    `-- MANIFEST.MF<br> |    |-- WEB-INF<br> |    |    `-- web.xml<br> |    |-- index.jsp<br> |    `-- login.jsp<br> : <br>

Ainsi, getRealPath("/") renvoie le chemin absolu du système de fichiers disque du dossier /web du fichier WAR étendu du projet.

Quand dois-je utiliser it?

Évitez d'utiliser getRealPath(), car il existe des solutions plus portables pour :



  • Obtention d'un InputStream d'une ressource web : utilisez ServletContext#getResourceAsStream()

  • Obtention d'une liste des chemins de ressources Web disponibles : utilisez ServletContext#getResourcePaths()

  • Obtention d'une ressource individuelle en tant que URL : utiliser ServletContext#getResource()

Notes supplémentaires

Modifications apportées aux fichiers écrits dans le chemin renvoyé par getRealPath() est perdu lors de WAR redéploiement.

getRealPath() suppose que le fichier WAR est étendu au système de fichiers du disque, ce qui n'est pas toujours le cas. Dans de tels scénarios, getRealPath() peut renvoyer null ou un chemin inattendu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal