HTML and CSS Reference
Adding to all of the previous recommendations, you need to take the following into consideration:
Do not business logic which performs I/O operations in the getters of your managed beans
because they may be called multiple times during the request processing life cycle, which can
degrade the overall application performance. Business logic has to be moved to JSF action
methods or event listeners.
Avoid complicated EL expressions. In case you have a complicated expression, move its logic
to Java managed beans.
Always use pagination if you have to display data table with large number of records.
Use Ajax (<f:ajax>) when possible for sending ONLY the parts of the page that you want the
server to process and to render ONLY the parts of the page (NOT the whole page) that should
Minimize using session scoped managed beans in order to minimize the usage of the server
memory and in order to increase application scalability.
In this chapter, you learned the differences between authentication, authorization, and data protection. You learned
how to secure your JSF application using the security features provided by the Java EE container. You know how to
apply container-managed authentication, authorization, and data protection in the weather application that was
introduced in Chapter 10. You also learned how to tune the performance of your JSF application by modifying the
default JSF context parameters and by applying a set of best practices.