Pregunta

Tengo una aplicación simple usando JSF2 Facelets. Mi web.xml se establece de la siguiente manera: -

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping> 

Quiero configurar la aplicación por defecto a la página de bienvenida que es /pages/login.xhtml. Me parece que no puede obtener la configuración welcome-file para recoger este cuando va a la raíz del contexto en el navegador.

Mi configuración de bienvenida web.xml es el siguiente: -

<welcome-file-list>
<welcome-file>/pages/login.jsf</welcome-file>
</welcome-file-list>

¿Cómo fuerzo la bienvenida a la página goto el página de registro y asegurarse de que pasa por el servlet caras?

Si utilizo los siguientes se muestra la página, pero no ha pasado por el servlet caras y así rostros componentes no se representan: -

<welcome-file-list>
<welcome-file>pages/login.xhtml</welcome-file>
</welcome-file-list>

Cualquier ayuda apreciada!

¿Fue útil?

Solución

Hay que crear un archivo login.jsf vacía, junto a su archivo login.xhtml. Por alguna razón se necesita este truco para engañar al contenedor de servlets existe en el pensamiento de su archivo de bienvenida.

Nota:. La respuesta servido seguirá siendo la respuesta JSF usando su archivo login.xhtml, no el archivo login.jsf vacío se crea

Otros consejos

Información adicional de solución original.

Esto es sólo una necesidad compatibilidad hacia atrás para contenedores de servlets antes de la versión 3. Una vez que se ejecutan en GlassFish 3.1 o Tomcat 7, por ejemplo, ya no es necesario tener un archivo vacío como este. Corrí las pruebas para verificar el uso de Tomcat 6 y Tomcat 7. En el pasado tuve ensayos realizados con Glassfish y asumió una cuestión Tomcat 6 estaba en juego ya que se corre el software en Tomcat 6 en el momento actual y no es 3.0 contenedor de servlets. Había estado utilizando una página JSP con redireccionamiento, pero después de moverse por completo a facelets no me gustaba tener un sobrante página JSP. Esta es una gran solución para el corto plazo hasta que se están ejecutando en un contenedor de servlets 3.0. La verdadera razón por la que funciona es que todo se está haciendo con la entrada web.xml es una comprobación de la existencia de archivos. El verdadero trabajo se maneja fuera a JSF, ya que atrapa la solicitud a la página caras por lo que nunca se golpea esa página vacía para nada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top