java - Error "No se puede encontrar el despachador de Struts" al implementar la aplicación en WebLogic 12.1.3
tomcat struts2 (2)
Tengo el siguiente error al intentar ejecutar mi aplicación en WebLogic 12.1.3.
El despachador Struts no se puede encontrar. Esto generalmente es causado por el uso de etiquetas Struts sin el filtro asociado. Las etiquetas de Struts solo se pueden usar cuando la solicitud ha pasado a través de su filtro de servlet, que inicializa el despachador de Struts necesario para esta etiqueta.
Este es mi archivo
web.xml
:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>SybUI</display-name>
<!-- location of log4j config file -->
<!-- <context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j2.xml</param-value>
</context-param> -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
<!-- <filter>
<filter-name>SessionFilter</filter-name>
<filter-class>com.syb.core.filter.SessionFilter</filter-class>
<init-param>
<param-name>avoid-urls</param-name>
<param-value>/timeOut,/pages/timeOut.jsp,/test,/pages/test.jsp,/testMsg.action,/pages/invalidToken.jsp,/login.jsp,/logoutUser,/loginUser.action,
/common/postloginheader.html,/js/jquery.mobile.custom.min.js,/images/plus_cyn_40.png,/js/custom.js,/css/bootstrap.min.css,/css/aos-style.css,
/css/style.css,/js/bootstrap.min.js,/js/modernizr.min.js,/css/custom.css,/js/jquery.validate.min.js,/js/respond.min.js,/js/session1.js,/js/aos-custom.js,
/images/wres009899.png,/images/fdic.png,/images/header_1024.jpg,/images/blue-arrow.png
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>-->
<!--<session-config>
<session-timeout>10</session-timeout>
</session-config> -->
<welcome-file-list>
<welcome-file>/jsp/ao/ApplicationStartUp.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/jsp/common/error/Error-PageNotFound.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/jsp/common/error/Error-PageNotFound.jsp</location>
</error-page>
Está utilizando etiquetas Struts dentro de un JSP, probablemente
/jsp/ao/ApplicationStartUp.jsp
pero se ha llamado sin pasar por una Acción.
Pase una Acción o elimine las etiquetas Struts de JSP llamadas directamente.
Para un archivo de bienvenida, iría con el último.
Si está utilizando etiquetas Struts dentro de la página JSP que aparece en la
welcome-file-list
, debe eliminarse.
welcome-file-list
en
web.xml
:
El elemento de lista de archivos de bienvenida de la
web-app
se utiliza para definir una lista de archivos de bienvenida. Su subelemento eswelcome-file
que se utiliza para definir el archivo de bienvenida.Un archivo de bienvenida es el archivo que el servidor invoca automáticamente , si no especifica ningún nombre de archivo.
Y por lo tanto, sin filtro asociado.
El filtro asociado se define
struts2
asignado a
/*
.
Significa que debe atender todas las solicitudes, a menos que el archivo de bienvenida sea atendido por el servidor web.
Normalmente, no debe acceder directamente a las páginas JSP sin la ejecución de una acción previa, que devuelve el resultado del tipo del
dispatcher
.
En este resultado, puede especificar la ubicación del archivo JSP al que desea acceder.
El contenedor web maneja los archivos de la
welcome-file-list
archivos de
welcome-file-list
si navega a la carpeta de su jerarquía de contenido web, como si no está utilizando la extensión
.action
en la URL, y hay un
welcome-file
dentro de ella, y no hay acción asignada a esa URL.
En este caso, no puede usar etiquetas struts dentro del
welcome-file
porque está intentando ejecutarlo sin un filtro asociado, o el filtro struts2 ya está manejando otra solicitud.