2011-10-25 15 views
5

AccessoJSF non viene riconosciuto

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

opere, con l'uscita di:

Ciao Mondo! Albert Kam

ma accedendo

http://localhost:8080/basicSetup 

mostra

Ciao Mondo! # {} MyBean.value

il che significa che il file di accoglienza non è reso come un file JSF

Vorrei http://localhost:8080/basicSetup avere lo stesso effetto di accesso http://localhost:8080/basicSetup/faces/index.xhtml.

Si prega di condividere i tuoi pensieri

molo-maven-plugin: 8.0.3.v20111011: corsa + JDK 7 + eclissare indaco

Ecco il mio file 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> 

e questo è l'uscita pontile 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. 

risposta

12

il <welcome-file> è supp osed rappresenta il nome del file che viene caricato di default ogni volta che viene richiesta una cartella.

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

Se stai usando JSF 2.x, allora vi consiglio di sostituire /faces/* modello URL *.xhtml, poi il sopra funzionerà e non hai bisogno di giocherellare con /faces percorsi negli URL più. Oppure, se stai utilizzando JSF 1.x, ti suggerisco di sostituire il pattern URL /faces/* entro il *.jsf e di fornire un file vuoto index.jsf accanto a index.xhtml nella cartella per ingannare il contenitore che il file esiste realmente.

+0

Sono completamente d'accordo con la tua idea per la semplicità di usare solo xhtml per il mio JSF2.x. Ero solo curioso di sapere il problema nel mio caso, dal momento che gli esempi di utilizzo del percorso della cartella nel file di benvenuto sono in http://netbeans.org/kb/docs/web/jsf20-intro.html e nel core jsf 2 libro .. – bertie

+1

Hmm, hai ragione, funziona su Tomcat e Glassfish in questo modo. In realtà non ho mai usato '/ faces/*' e ho sempre avuto l'impressione che il '' debba riferirsi a un file fisico sul disco, che è anche letteralmente quello che dice la specifica. Forse quei contenitori rileva automaticamente le corrispondenze con servlet mappati al prefisso nel file di benvenuto? Anch'io non ho mai usato Jetty, ma da quello che ho letto è che a volte è piuttosto buggy e folle. – BalusC

+0

Grazie! Passerà a * .xhtml per un approccio più comune e penserà di passare nuovamente a tomcat7 – bertie

Problemi correlati