JSF has no database capabilities of its own. Whatever access you do with a database would be done in the same way that you would in a non-JSF program.
The DTO object is actually obsolete if you are using up-to-date ORM techniques. With EJB3, there is no longer a need to maintain a separate DTO from the Entity, the Entity can serve as its own DTO.
DAO's can continue to be used, although I don't reference DAO's directly in my JSF code, i have a separate application layer I put that stuff into and my backing beans call into that layer. Most of what's in my JSF backing beans is GUI-related.
Customer surveys are for companies who didn't pay proper attention to begin with.