You can aid our watering eyes if you use the "Code" button to wrap tags around your code and XML that will present the text in a more readable style.
The FacesContext ONLY exists for the lifetime of a single JSF request/response cycle it is destroyed and re-created each time. If the request isn't routed through the FacesServlet, the FacesContext doesn't exist.
In order to get a standard non-JSF servlet (or JSP) to work with JSF, the servlet has to forward the request as a JSF URL request. You cannot connect code directly.
Customer surveys are for companies who didn't pay proper attention to begin with.