Hi,

I'm quite new to jsf, but know my way around tomcat and the servlet-api pretty well. I'm working on a relatively complicated project with a few dependencies, but to be able to track down my problem I have created a simple application based on the NumberGuess tutorial. The problem seems to be a configuration problem, but I can't see where the problem is. and basically the configuration runs on my local machine but not the server.

Basically If, in my web.xml I map *.jsf to facesServlet I can see /guess.jsf but if i create a file /test/guess.jsf I get a 404 error. by putting in a few logs I can see that while /guess.jsf is handled by facesServlet, /test/guess.jsf is not.

if I map *.jsf to a testServlet the request is handled irrespective, so the problem is not with tomcat.

I'm using Facelets, but have also (for testing purposes) used jsp as the view technology, and the result is the same.

I'm using faces-1.2.4 (after trying in 1.2.3)

We are serving Tomcat 6.0.18 directly (without apache front-end) with
Java 1.6.0_07-b06 on a Gentoo 1.12.11.1 System.

locally I'm running Tomcat 6.0.18
Java 1.6.0_07-b03 on Ubuntu 8.04.1

To rule out file permissions being a problem I did a chmod -R 777 on the directory

Config files follow at end of mail

I've spent almost 3 days tearing everything to pieces now, and can't make any progress.
any help, suggestions, advice gratefully received

many thanks

Paul Hopton

--------------------------------------------------------------------------------------------
/WEB-INF/faces-config.xml
--------------------------------------------------------------------------------------------

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

<web-app version="2.4"
        xmlns="http://java.sun.com/xml/ns/j2ee";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"; >
<!-- Use Documents Saved as *.xhtml --> <context-param>
   <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
   <param-value>.xhtml</param-value>
 </context-param>

<!-- UTESTING RESOLVER --> <context-param>
   <param-name>facelets.RESOURCE_RESOLVER</param-name>
   <param-value>tutorial.DefaultPaulSolver</param-value>
 </context-param>

 <!-- Special Debug Output for Development -->
 <context-param>
   <param-name>facelets.DEVELOPMENT</param-name>
   <param-value>true</param-value>
 </context-param>
<!-- Optional JSF-RI Parameters to Help Debug -->
 <context-param>
   <param-name>com.sun.faces.validateXml</param-name>
   <param-value>true</param-value>
 </context-param>
 <context-param>
   <param-name>com.sun.faces.verifyObjects</param-name>
   <param-value>true</param-value>
 </context-param>
<!-- Faces Servlet -->
 <servlet>
   <servlet-name>Faces Servlet</servlet-name>
   <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
 </servlet>
<!-- Faces Servlet Mapping -->
 <servlet-mapping>
   <servlet-name>Faces Servlet</servlet-name>
   <url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
</web-app>

--------------------------------------------------------------------------------------------
/WEB-INF/faces-config.xml
--------------------------------------------------------------------------------------------

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd";>

<faces-config>
<!-- from project setup -->
 <application>
   <view-handler>
     com.sun.facelets.FaceletViewHandler
</view-handler> </application>

     <!-- our NumberBean we created before -->
 <managed-bean>
   <managed-bean-name>NumberBean</managed-bean-name>
   <managed-bean-class>tutorial.NumberBean</managed-bean-class>
   <managed-bean-scope>session</managed-bean-scope>
   <managed-property>
     <property-name>min</property-name>
     <value>1</value>
   </managed-property>
   <managed-property>
     <property-name>max</property-name>
     <value>10</value>
   </managed-property>
 </managed-bean>

 <!-- going from guess.xhtml to response.xhtml -->
 <navigation-rule>
   <from-view-id>/guess.xhtml</from-view-id>
   <navigation-case>
     <from-outcome>success</from-outcome>
     <to-view-id>/response.xhtml</to-view-id>
   </navigation-case>
 </navigation-rule>

 <!-- going from response.xhtml to guess.xhtml -->
 <navigation-rule>
   <from-view-id>/response.xhtml</from-view-id>
   <navigation-case>
       <from-outcome>success</from-outcome>
     <to-view-id>/guess.xhtml</to-view-id>
   </navigation-case>
 </navigation-rule>

</faces-config>

Reply via email to