Basitçe bu geçişi Mojarra'nın api ve impl .jar'larını MyFaces'inkilerle değiştirerek yapabiliyorsunuz. Lakin MyFaces, Mojarra'ya göre bazı noktalarda farklı davranabiliyor. Bu davranışı da web.xml'de ekleyebileceğiniz çeşitli context-param'larla düzenleyebiliyorsunuz.
MyFaces JSF'i Spring ile kullanırken karşılaştığımız bir farklılık da viewScope tanımlı managedBean niteliklerine bağımlılık aktarımı yapılan Spring bean'lerin ikinci istekte null değerler almasıydı. Bunun sebebi de MyFaces'in varsayılan olarak session'daki JSF state'ini her defasında serialize/deserialize etme çabasıydı. İkinci istek işlenirken deserialize yapılan JSF beanlerine Spring beanleri aktarılamadığı için NullPointerException hatası alıyorsunuz.
<context-param> <param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name> <param-value>false</param-value> </context-param>
şeklinde yazılan context-param değeri bu sıkınıtının önüne geçiyor. Buna benzer MyFaces parametrelerin listesini buradan inceleyebilirsiniz..