ServletContext.getRealPath("/") Signification et utilisation
Introduction
Dans la programmation Servlet, ServletContext.getRealPath( ) convertit un chemin de contenu Web (le chemin dans la structure de dossiers WAR étendue) en un système de fichiers sur disque absolu path.
Utilisation de '/' dans getRealPath()
Le "/" passé à getRealPath() représente la racine du contenu Web, ou le répertoire où tous les fichiers Web -le contenu accessible est localisé. C'est l'équivalent du dossier /web dans la structure de projet suivante :
YourWebProject
|-- src
|-- web
|-- META-INF
|-- WEB-INF
|-- index.jsp
|-- login.jsp
Copier après la connexion
Scénarios d'utilisation
Quand devez-vous utiliser getRealPath("/") ?
-
Aucun cas d'utilisation raisonnable : Évitez d'utiliser getRealPath() dans la plupart des cas. scénarios. Il existe des alternatives plus portables et plus fiables.
Alternatives à getRealPath()
-
Lecture des ressources Web : Utilisez ServletContext. getResourceAsStream() à la place pour un flux d'entrée du ressource.
-
Liste des ressources Web : Utilisez ServletContext.getResourcePaths() pour une liste de tous les chemins de ressources Web disponibles.
-
Enregistrement des fichiers téléchargés ou création de fichiers temporaires : Référez-vous aux ressources associées dans la section "Voir aussi" ci-dessous.
Attentions
-
Modifications perdues : Les modifications apportées au chemin du système de fichiers disque obtenues à partir de getRealPath() seront perdus lors du redéploiement du WAR, car ils ne sont pas stockés dans le WAR fichier.
-
Manque de fiabilité : getRealPath() peut renvoyer des chemins nuls ou inattendus si le serveur n'est pas configuré pour étendre le fichier WAR sur le système de fichiers du disque.
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!