java - example - spring mvc maven tutorial
Agregar ContextLoaderListener a web.xml en Spring MVC (5)
Es opcional, realmente no lo necesita solo para Spring MVC ( DispatcherServlet
). Pero agregar la seguridad de Spring a su Spring MVC debe hacerse con
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Solo un comentario, si usas ContextLoaderListener
deberás agregar DelegatingFilterProxy
:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/admin</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-security.xml
</param-value>
</context-param>
en su web.xml también. Lo siento por ser cuatro años demasiado tarde. Aclamaciones
Soy nuevo en Spring MVC . Tengo una aplicación web. Tengo la siguiente configuración:
<welcome-file-list>
<welcome-file>list.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
¿Necesito agregar la siguiente línea al archivo web.xml ?
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
Esto tal vez un poco avanzado, en mi aplicación, que es una aplicación empresarial, construyen su propia clase de oyentes y la colocan en el web.xml. Al inicio, este oyente personalizado escaneará la aplicación para recopilar toda la información, incluidos los recursos, las conexiones externas, la información del servidor, los archivos jar, etc. La información está disponible en una página web.
Sí, debe agregar ContextLoaderListener
en web.xml
, solo si desea cargar otros archivos xml de contexto de Spring mientras carga la aplicación y puede especificarlos como
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-security.xml
</param-value>
</context-param>
Solo si tienes dos archivos de configuración xml. Uno con Servicios / DAOs y otro con Controlador. Si ha configurado todo en un archivo de configuración de Spring, no necesita el ContextLoaderListener
, solo el servlet del despachador es suficiente.
Se recomienda dividir la configuración en dos y usar ContextLoaderListener
para crear el contexto de la aplicación raíz y el servlet del despachador para crear el contexto de la aplicación de la capa web.
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml,WEB-INF/spring-security.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>UR_PATTERN</url-pattern>
</servlet-mapping>
Esto funcionó bien para mi .