2011-10-25 21 views
5

AccesoJSF no se reconoce

http://localhost:8080/basicSetup/faces/index.xhtml 

obras, con la salida de:

Hello World! Albert Kam

pero el acceso

http://localhost:8080/basicSetup 

muestra

Hello World! # {} MyBean.value

lo que significa que el archivo de bienvenida no se representa como un archivo JSF

me gustaría http://localhost:8080/basicSetup tener el mismo efecto que el acceso a http://localhost:8080/basicSetup/faces/index.xhtml.

Por favor comparta sus pensamientos

embarcadero-maven-plugin: 8.0.3.v20111011: Run + JDK 7 + eclipsar índigo

Aquí está mi archivo web.xml:

<?xml version="1.0" encoding="UTF-8"?> 

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    version="2.5"> 
    <display-name>Basic Setup Web Application</display-name> 
    <servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>/faces/*</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
     <welcome-file>faces/index.xhtml</welcome-file> 
    </welcome-file-list> 
    <listener> 
     <listener-class> 
      com.sun.faces.config.ConfigureListener 
     </listener-class> 
    </listener> 
    <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Development</param-value> 
    </context-param> 
</web-app> 

y esta es la salida de embarcadero Maven plugin:

[INFO] >>> jetty-maven-plugin:8.0.3.v20111011:run (default-cli) @ BasicSetup >>> 
[INFO] 
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ BasicSetup --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] Copying 0 resource 
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ BasicSetup --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ BasicSetup --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory C:\Users\albert\workspace\BasicSetup\src\test\resources 
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ BasicSetup --- 
[INFO] No sources to compile 
[INFO] 
[INFO] <<< jetty-maven-plugin:8.0.3.v20111011:run (default-cli) @ BasicSetup <<< 
[INFO] 
[INFO] --- jetty-maven-plugin:8.0.3.v20111011:run (default-cli) @ BasicSetup --- 
[INFO] Configuring Jetty for project: BasicSetup Maven Webapp 
[INFO] webAppSourceDirectory C:\Users\albert\workspace\BasicSetup\src\main\webapp does not exist. Defaulting to C:\Users\albert\workspace\BasicSetup\src\main\webapp 
[INFO] Reload Mechanic: automatic 
[INFO] Classes = C:\Users\albert\workspace\BasicSetup\target\classes 
[INFO] Context path = /basicSetup 
[INFO] Tmp directory = C:\Users\albert\workspace\BasicSetup\target\tmp 
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml 
[INFO] Web overrides = none 
[INFO] web.xml file = file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/WEB-INF/web.xml 
[INFO] Webapp directory = C:\Users\albert\workspace\BasicSetup\src\main\webapp 
2011-10-25 14:03:59.073:INFO:oejs.Server:jetty-8.0.3.v20111011 
2011-10-25 14:03:59.333:INFO:oejpw.PlusConfiguration:No Transaction manager found - if your webapp requires one, please configure one. 
2011-10-25 14:04:00.104:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/basicSetup,[file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/, jar:file:/C:/Users/albert/.m2/repository/org/glassfish/javax.faces/2.1.3/javax.faces-2.1.3.jar!/META-INF/resources/]},file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/ 
2011-10-25 14:04:00.104:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/basicSetup,[file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/, jar:file:/C:/Users/albert/.m2/repository/org/glassfish/javax.faces/2.1.3/javax.faces-2.1.3.jar!/META-INF/resources/]},file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/ 
2011-10-25 14:04:00.104:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/basicSetup,[file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/, jar:file:/C:/Users/albert/.m2/repository/org/glassfish/javax.faces/2.1.3/javax.faces-2.1.3.jar!/META-INF/resources/]},file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/ 
Oct 25, 2011 2:04:00 PM com.sun.faces.config.ConfigureListener contextInitialized 
INFO: Initializing Mojarra 2.1.3 (SNAPSHOT 20110908) for context '/basicSetup' 
Oct 25, 2011 2:04:00 PM com.sun.faces.spi.InjectionProviderFactory createInstance 
INFO: JSF1048: PostConstruct/PreDestroy annotations present. ManagedBeans methods marked with these annotations will have said annotations processed. 
Oct 25, 2011 2:04:00 PM com.sun.faces.config.ConfigureListener$WebConfigResourceMonitor$Monitor <init> 
INFO: Monitoring file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/WEB-INF/faces-config.xml for modifications 
2011-10-25 14:04:00.787:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/basicSetup,[file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/, jar:file:/C:/Users/albert/.m2/repository/org/glassfish/javax.faces/2.1.3/javax.faces-2.1.3.jar!/META-INF/resources/]},file:/C:/Users/albert/workspace/BasicSetup/src/main/webapp/ 
2011-10-25 14:04:00.825:INFO:oejs.AbstractConnector:Started [email protected]:8080 STARTING 
[INFO] Started Jetty Server 
[INFO] Starting scanner at interval of 10 seconds. 

Respuesta

12

el <welcome-file> es supp osed representa el archivo nombre del archivo que se cargará por defecto cada vez que se solicite una carpeta.

<welcome-file>index.xhtml</welcome-file> 

Si está utilizando JSF 2.x, entonces me sugieren para reemplazar /faces/* patrón de URL por *.xhtml, a continuación, lo anterior va a funcionar y que no es necesario tocar el violín con /faces caminos en direcciones URL más. O bien, si está utilizando JSF 1.x, le sugiero que reemplace el patrón de URL /faces/* por *.jsf y proporcione un archivo index.jsf vacío junto a index.xhtml en la carpeta para engañar al contenedor de que el archivo realmente existe.

+0

Estoy totalmente de acuerdo con su idea por la simplicidad de usar solo xhtml para mi JSF2.x. Simplemente estaba sintiendo curiosidad sobre el problema en mi caso, ya que los ejemplos de uso de la ruta de la carpeta en el archivo de bienvenida se encuentran en http://netbeans.org/kb/docs/web/jsf20-intro.html y en el núcleo jsf 2 libros ... – bertie

+1

Hmm, tienes razón, funciona de esa manera con Tomcat y Glassfish. En realidad, nunca he usado '/ faces/*' y siempre he tenido la impresión de que el '' debería referir un archivo físico al disco, que también es literalmente lo que dice la especificación. Tal vez esos contenedores autodetecta coincidencias con servlets mapeados con el prefijo en el archivo de bienvenida? Yo mismo nunca he usado Jetty, pero por lo que he leído es que a veces es bastante defectuoso y demente. – BalusC

+0

¡Gracias! Cambiará a * .xhtml por el bien de un enfoque más común, y se le ocurrirá cambiar de nuevo a tomcat7 – bertie

Cuestiones relacionadas