JSF and servlets work together just file. The only restriction is that since JSF is itself accomplished via a servlet and only one servlet can receive an HTTP request, you have the choice of using JSF or of using a user-defined servlet, but not both on the same request.
That's not the handicap it may seem to be. A servlet is basically a dispatching device, and it's not really a good idea to place business logic - business logic should go in independent classes, and independent classes can be used by both JSF and servlets or JSPs.
In the case of a JSF page that needs to feed into a servlet for a task like having the servlet generate an XLS file or a PDF, this can be done by taking advantage of the fact that the JSF beans are just POJOs and therefore they're equally visible to both.
Customer surveys are for companies who didn't pay proper attention to begin with.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com