title: jsf target unreachable, identifier [bean] resolved to null
body: <p>After digging through links such as the following, I'm unable to solve the problem: <a href="https://stackoverflow.com/questions/30128395/identifying-and-solving-javax-el-propertynotfoundexception-target-unreachable">Identifying and solving javax.el.PropertyNotFoundException: Target Unreachable</a></p>
  
  <p>I am getting the following error: javax.servlet.ServletException: /Project9.xhtml @13,55 value="#{ProjectBean.income}": Target Unreachable, identifier [ProjectBean] resolved to null</p>
  
  <p>My form:</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
   &lt;html xmlns="http://wwww3.org/1999/xhtml"
    xmlns:a="http://xmlns.jcp.org/jsf/facelets"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    &gt;
  &lt;h:head&gt;
  &lt;title&gt;Project9&lt;/title&gt;
  &lt;/h:head&gt;
  
  &lt;h:body&gt;
  &lt;h:form&gt;
      Income: &lt;h:inputText value="#{ProjectBean.income}"/&gt;
      Number of people: &lt;h:inputText value="#{ProjectBean.numPeople}"/&gt;
          &lt;h:commandButton value= "Submit" action= "Project9response"/&gt;
  &lt;/h:form&gt;
  
  &lt;/h:body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>I am not sure whether the right convention is wwww3.org or www.3.org but I have tried them both.</p>
  
  <p>My Response page:</p>
  
  <pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
  &lt;html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    &gt;
  &lt;h:head&gt;
  &lt;title&gt;&lt;ui:insert name="title"&gt;Project 9 response&lt;/ui:insert&gt;&lt;/title&gt;
  &lt;/h:head&gt;
  
  
  &lt;h:body&gt;
  Am I above the poverty level: #{ProjectBean.abovePovertyLevel()}
  
  &lt;/h:body&gt;
  
  &lt;/html&gt;
  </code></pre>
  
  <p>My Bean:</p>
  
  <pre><code>@ManagedBean
  @SessionScoped
  public class ProjectBean implements Serializable{
  
  /**
   * 
   */
  private static final long serialVersionUID = 1L;
  private double income;
  private double numPeople;
  
  //constructor is no arg
  public ProjectBean() {
  
  }
  
  public double getIncome() {
      return income;
  }
  public void setIncome(double income) {
      this.income = income;
  }
  public double getNumPeople() {
      return numPeople;
  }
  public void setNumPeople(double numPeople) {
      this.numPeople = numPeople;
  }
  
  public boolean abovePovertyLevel() {
      if ( income &lt; (16460.00 + 4320.00) * (numPeople - 2)){
          return false;
      }
      else {
      return true;
  }
  }
  
  }
  </code></pre>
  
  <p>My faces-config.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;faces-config
  xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
  http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd"
  version="2.3"&gt;
  
  &lt;/faces-config&gt;
  </code></pre>
  
  <p>I have my faces-config.xml and my javax-faces.2.2.8.jar file in the lib folder of WEB-INF
  I have my bean in the src folder of Java Resources</p>
  
  <p>I have another project called helloworld with several little JSF projects that all work, and I have tried copying project9 into helloworld and running it, but I get the same error only on that project</p>
  
  <p>I have tried cleaning my project as people have suggested</p>
  
  <p>This is a student project and my first introduction to JSF and Tomcat. I'm using a Mac and Eclipse photon. </p>
  
  <p>As I stated in a comment in my code, if I try to bypass the response xhtml file and go straight to the javabean method in my html form, I get an underline under ProjectBean.abovePovertyLevel() and the error "the action value does not match a navigation case outcome"</p>
  
  <p>I'm not sure of some of the answers in the link above regarding CDI, etc, that all is above my head at this point.</p>