Quelle est la différence entre l’interface ServletConfig
et ServletContext
?
Les parameters ServletConfig sont spécifiés pour un servlet particulier et sont inconnus des autres servlets. Il est utilisé à des fins d’initialisation.
Les parameters ServletContext sont spécifiés pour une application entière en dehors de tout servlet particulier et sont disponibles pour tous les servlets de cette application. Son application a une scope et est donc accessible globalement sur toutes les pages.
Source: Différence entre ServletConfig et ServletContext en Java
ServletConfig
ServletConfig
disponible dans javax.servlet.*;
paquet
ServletConfig
object ServletConfig
est un par classe de servlet
L’object de ServletConfig
sera créé lors du processus d’initialisation du servlet
Cet object Config est public uniquement pour un servlet particulier
Portée: Tant qu’un servlet est en cours d’exécution, l’object ServletConfig
sera disponible, il sera détruit une fois l’exécution du servlet terminée.
Nous devrions demander explicitement, afin de créer ServletConfig
object ServletConfig
pour la première fois
Dans web.xml – la
apparaîtra sous la
Voici comment cela se présente sous web.xml: ( Source )
ServletConfigTest com.stackoverflow.ServletConfigTest topic Difference between ServletConfig and ServletContext
ServletContext
ServletContext
disponible dans javax.servlet.*;
paquet
ServletContext
object ServletContext
est global pour l’application Web entière
L’object de ServletContext
sera créé au moment du déploiement de l’application Web
Portée : Tant que l’application Web est en cours d’exécution, l’object ServletContext
sera disponible et il sera détruit une fois l’application retirée du serveur.
ServletContext
object ServletContext
sera disponible avant même de donner la première requête. Dans web.xml
– la
apparaîtra sous la
Voici comment cela se présente sous web.xml:
globalVariable com.stackoverflow
Donc enfin …….
Nombre d’applications Web = Ce nombre d’objects ServletContext
[1 par application Web]
Nombre de classes de servlets = Ce nombre d’objects ServletConfig
Différence entre ServletContext et ServletConfig dans Servlets JSP au format tabulaire ( Source )
ServletConfig est implémenté par le conteneur de servlets pour initialiser un seul servlet à l’ aide d’init (). En d’autres termes, vous pouvez transmettre les parameters d’initialisation au servlet à l’aide du descripteur de déploiement web.xml. Pour comprendre, cela est similaire à un constructeur dans une classe Java.
ServletContext est implémenté par le conteneur de servlets pour que tous les servlets communiquent avec son conteneur de servlets, par exemple pour obtenir le type MIME d’un fichier, obtenir des demandes de répartition ou pour écrire dans un fichier journal. Cela permet d’obtenir des détails sur son environnement d’exécution. Il est applicable uniquement dans une seule machine virtuelle Java. Si une application Web est dissortingbuée entre plusieurs JVM, cela ne fonctionnera pas. Pour plus de compréhension, il s’agit d’un mécanisme de variable globale d’application pour une seule application Web déployée dans une seule JVM.
Source: http://javapapers.com/servlet/difference-between-servletconfig-and-servletcontext/
Cela répond dans le texte introductif de leurs javadocs.
ServletConfig
javadoc:
Objet de configuration de servlet utilisé par un conteneur de servlet pour transmettre des informations à un servlet lors de l’initialisation.
ServletContext
javadoc:
Définit un ensemble de méthodes qu’un servlet utilise pour communiquer avec son conteneur de servlets, par exemple, pour obtenir le type MIME d’un fichier, envoyer des demandes ou écrire dans un fichier journal.
Il existe un contexte par “application Web” par machine virtuelle Java. (Une “application Web” est un ensemble de servlets et de contenus installés sous un sous-ensemble spécifique de l’espace de noms du serveur, tel que / catalog et éventuellement installé via un fichier .war.)
Dans le cas d’une application Web marquée “dissortingbué” dans son descripteur de déploiement, il y aura une instance de contexte pour chaque machine virtuelle. Dans ce cas, le contexte ne peut pas être utilisé comme emplacement pour partager des informations globales (car les informations ne seront pas vraiment globales). Utilisez plutôt une ressource externe comme une firebase database.
L’object
ServletContext
est contenu dans l’objectServletConfig
, que le serveur Web fournit au servlet lors de l’initialisation du servlet.
Le javadoc contient également une liste des méthodes disponibles avec une explication de leur utilisation. Il donne un bon aperçu de tout ce qui est disponible / possible avec eux.
Le conteneur de servlets créera deux contextes de servlet d’object et de configuration de servlet. Le contexte de servlet est public, c’est-à-dire que les données stockées sous le contexte Servlet avec webxml sont disponibles pour tous les servlets et qu’il n’ya qu’un object de contexte de servlet dans une application alors que la configuration de servlet est privée . est disponible pour un servlet particulier uniquement et il peut y avoir n nombre d’objects de configuration de servlet
Exemple (si nous avons 3 fichiers de servlets dans l’application, il y aura 3 objects de configuration de servlet).
Objets ServletContext et ServletConfig sur le serveur
Dans le cadre du serveur Web, de nombreuses applications Web résident à l’intérieur du serveur. Pour chaque application Web, le serveur est responsable de la création d’un object, c’est-à-dire d’un object de contexte de servlet. Il est également appelé object d’application.
Objet ServletConfig
Dans le cadre de chaque application Web, nous créerons un nombre N de servlets. Pour chaque servlet, un object sera créé par le serveur, à savoir l’object ServletConfig.
ServletConfig est destiné à un servlet particulier et est utile dans la méthode init (ServletConfig x) ou peut être utilisé avec la méthode getServletConfig (). Il est utilisé si nous devons obtenir des informations spécifiques au servlet. Par exemple: les informations de rappel de servlet sur les informations relatives à l’access à la firebase database peuvent utiliser ServletConfig car ces informations ne sont requirejses que pour ce servlet particulier.
Cependant, ServletContext est pour toute l’application. Il est utilisé lorsque nous avons besoin de partager des informations entre certains / tous les servlets / jsp dans une application Web particulière. On peut y accéder en utilisant la méthode getServletConfig (). GetServletContext () de Servlet. Par exemple: Servlet / JSP utilisé pour compter le nombre d’utilisateurs ayant accédé à votre site Web.
ServletConfig est utilisé pour partager les parameters d’initialisation spécifiques à un servlet alors que ServletContext est utilisé pour partager les parameters d’initialisation dans n’importe quelle Servlet au sein d’une application Web.
Différence :
.--------------------------------------------------.----------------------------------------------------------------------------------------------. | ServletConfig | ServletContext | :--------------------------------------------------+----------------------------------------------------------------------------------------------: | Unique object per servlet | Unique object for complete application | :--------------------------------------------------+----------------------------------------------------------------------------------------------: | Used to provide init parameters to the servlet | Used to provide application level init parameters that all other servlets can use. | :--------------------------------------------------+----------------------------------------------------------------------------------------------: | We can't set atsortingbutes in ServletConfig object. | We can set atsortingbutes in ServletContext that other servlets can use in their implementation. | '--------------------------------------------------'----------------------------------------------------------------------------------------------'
ServletContext
interface ServletContext
représente la vue Servlets de l’application Web à laquelle elle appartient. ServletContext
présent dans ServeltConfig
.
Chaque ServletConfig
a ServletConfig
object ServletConfig
, utilisé pour accéder à initParameters à l’aide de la méthode getServeletConfig()
.
Généralement, les deux sont utilisés pour l’initialisation Mais une autre principale différence est que vous voulez utiliser des variables ou des champs pour toute l’application dont vous avez besoin pour initialiser le temps de chargement de web.xml si une option est ServletContext
Et si vous souhaitez utiliser certaines variables uniquement dans un servlet, vous devez utiliser ServletConfit.