Cómo entender ServletContext y qué papel juega en el proceso de acceso a Servlet
1) La función del contexto
Web
Cuando se inicia el contenedor, crea un objeto ServletContext correspondiente para cada aplicación web, que representa la aplicación web actual.
De hecho, el ApplicationContext encapsulado por SpringMVC
y Struts2 encapsula el ServletContext original
Función: compartir datos en toda la memoria de la aplicación web acceder a recursos estáticos de aplicaciones web; comunicarse con objetos Servlet a través de objetos ServletContext.
2) Métodos de la interfaz de contexto
En el Servlet, obtener la aplicación del objeto de contexto a través de la aplicación ServletContext final = request.getServletContext();
p > Los métodos comunes de contexto son los siguientes:
getInitParameter(String name) Obtiene el valor del parámetro de inicialización llamado name
getResourceAsStream(String path) Devuelve la ruta correspondiente al flujo de entrada recurso, y el parámetro de ruta debe especificarse como "/"
getInitParameterNames() obtiene los nombres de todos los parámetros de inicialización, el resultado es una enumeración
getRequestDispatcher(String name) según el RequestDispatcher reenviado La dirección del objeto obtiene un objeto despachador de solicitudes
setAttribute() establece los valores de los atributos
getAttributeNames() obtiene los nombres de todos los valores de los atributos
3) Parámetros de contexto
Configurar parámetros de inicialización en web.xml
Configurar parámetros de inicialización en web.xml
4) Configurar parámetros de inicialización en contexto parámetro xml:
< contexto-param>
Este elemento se aplica a toda la aplicación, por lo que no está anidado dentro de un elemento Obtener parámetros de inicialización de Servlet: Finalmente ServletContext application=this.getServletContext() application.getInitParameter("email" 4) Atributo de contexto ServletContext application=this.getServletContext(); 5) Atributo de contexto application.getAttribute("nombre", "valor"); application.getAttribute ("nombre"); Número p=application.getAttributeNames(); /question/38481443/answer/76596017