我正在用MyFaces在JSF中做一些开发工作,我得到了这个警告。
*******************************************************************
*** 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. ***
*******************************************************************开发模式和生产模式有什么不同?是否存在安全风险?这仅仅是性能增强吗?
发布于 2012-12-20 08:38:28
这不存在安全风险,但会影响性能。当项目阶段设置为开发时,记录的次数会更多,缓存的次数会更少。
关于日志记录,有关如何构建和呈现组件的附加调试信息将被记录下来。例如,如果您有一个没有任何父<h:form>的<h:inputText>,那么这将被记录并显示为faces消息。所有未在任何<h:message(s)>组件中显示的排队的faces消息都将显示在页面底部的单独消息列表中,并带有橙色警告字体,表示“未显示”消息。此外,异常处理也不同,MyFaces将代替<error-page>显示一个丰富的错误页面,其中包含有关组件树和作用域变量的详细信息。
关于缓存,Facelet缓存将更有规律地刷新。因此,如果您在Facelet文件中进行更改并按下F5,那么更改将“立即”反映出来。对于生产阶段则不是这样,您基本上需要重新启动整个服务器。
此外,jsf.js JavaScript文件将显示为未缩小的版本,允许在will浏览器中更轻松地进行JS调试。在生产阶段,它是缩小版本,因此更小,更快,但它是完全不可读的。
Mojarra有很多类似的行为,除了丰富的错误页面。
https://stackoverflow.com/questions/13960829
复制相似问题