Какая разница между разработкой и производством в MyFaces

Я занимаюсь разработкой JSF с помощью MyFaces, и я получил это предупреждение.

*******************************************************************
*** WARNING: Apache MyFaces-2 is running in DEVELOPMENT mode.   ***
***                                         ^^^^^^^^^^^         ***
*** Do NOT deploy to your live server(s) without changing this. ***
*** See Application#getProjectStage() for more information.     ***
*******************************************************************

В чем разница между режимом разработки и производства? Существуют ли риски безопасности? Это просто улучшения производительности?

Ответ 1

Существует никаких угроз безопасности, однако есть последствия для производительности. Когда этап проекта настроен на разработку, тогда будет чаще регистрироваться и меньше кэшироваться.

В отношении ведения журнала будет регистрироваться дополнительная отладочная информация о том, как компоненты создаются и обрабатываются. Например, если у вас есть <h:inputText> без родительского <h:form>, то это будет регистрироваться и отображаться как сообщение лица. Все сообщения в очереди в очереди, которые не отображаются ни в одном из компонентов <h:message(s)>, будут отображаться в любом случае в отдельном списке сообщений внизу страницы с оранжевым предупреждающим шрифтом, обозначающим "не отображаемые" сообщения. Кроме того, обработка исключений различна, MyFaces вместо <error-page> показывает богатую страницу с ошибкой, включая подробную информацию о дереве компонентов и переменных области.

Что касается кэширования, кеш Facelet будет обновляться более регулярно. Поэтому, если вы вносите изменения в файл Facelet и нажимаете F5, изменения будут "немедленно" отражаться. Это не относится к стадии производства, вам в основном нужно перезагрузить весь сервер.

Также файл JavaScript jsf.js будет отображаться как неопределенная версия, позволяя упростить отладку JS в веб-браузере. На стадии производства это вместо этого миниатюрная версия, которая, таким образом, меньше и быстрее служит, но она совершенно нечитаема.

Mojarra имеет много похожего поведения, ожидайте страницы с богатой ошибкой.