代做设计网站,做网站聚合做权重难吗,清理网站后台缓存,泉州中企网站做的好吗JavaServer Faces应用程序的生命周期在客户端为页面发出HTTP请求时开始#xff0c;并在服务器响应该页面并转换为HTML时结束。 通常将JSF的生命周期分为两个阶段#xff1a; #执行阶段 #渲染阶段 1.执行阶段 JavaServer Faces应用程序生命周期执行阶段包含以下子阶段#xf…JavaServer Faces应用程序的生命周期在客户端为页面发出HTTP请求时开始并在服务器响应该页面并转换为HTML时结束。 通常将JSF的生命周期分为两个阶段 #执行阶段 #渲染阶段 1.执行阶段 JavaServer Faces应用程序生命周期执行阶段包含以下子阶段 恢复视图在内存中恢复或创建代表客户端用户界面信息的服务器端组件树视图。 应用请求值用来自客户端的最新数据更新这些服务器端组件。 处理验证对新数据执行验证和数据类型转换。 更新模型值用新数据更新服务器端模型对象。 调用应用程序调用满足请求所需要的应用程序逻辑然后如果有需要再导航到新页面。 渲染响应把响应渲染给请求客户端。 JSF 请求—响应生命周期的步骤 1.1恢复视图阶段 当客户端请求一个JavaServer Faces页面时JavaServer Faces实现开始恢复视图阶段。 在此阶段JSF将视图中的组件构建为请求页面线性事件处理程序和验证器的视图并将视图保存在FacesContext实例中。 如果对该页面的请求是回发那么与该页面相对应的视图已经存在于FacesContext实例中。 在此阶段JavaServer Faces实现通过使用保存在客户端或服务器上的状态信息来还原视图。 1.2应用请求值阶段 在此阶段在回发请求期间恢复组件树。 组件树是表单元素的集合。树中的每个组件通过使用其decode(processDecodes())方法从请求参数中提取其新值。 之后该值将本地存储在每个组件上。 如果任何解码方法或事件侦听器在当前FacesContext实例上调用了renderResponse方法则JavaServer Faces实现将跳过“渲染响应”阶段。 如果任何事件在此阶段已排队则JavaServer Faces实现将事件广播到有兴趣的监听器。 如果应用程序需要重定向到其他Web应用程序资源或生成不包含任何JavaServer Faces组件的响应则可以调用FacesContext.responseComplete()方法。 如果当前请求被识别为部分请求则从FacesContext检索部分上下文并应用部分处理方法。 1.3流程验证阶段 在此阶段JavaServer Faces通过使用其validate()方法来处理在组件上注册的所有验证器。 它检查指定验证规则的组件属性并将这些规则与为组件存储的本地值进行比较。 JavaServer Faces还完成了没有将immediate属性设置为true的输入组件的转换。 如果任何验证方法或事件侦听器在当前FacesContext上调用了renderResponse方法则JavaServer Faces实现将跳过“渲染响应”阶段。 如果应用程序需要重定向到不同的Web应用程序资源或生成不包含任何JavaServer Faces组件的响应则可以调用FacesContext.responseComplete方法。 如果事件在此阶段已排队则JavaServer Faces实现将它们广播给有兴趣的监听器。 如果当前请求被识别为部分请求则从FacesContext检索部分上下文并应用部分处理方法。 1.4更新模型值阶段 确保数据有效后它遍历组件树并将相应的服务器端对象属性设置为组件的本地值。 JavaServer Faces实现只更新输入组件的value属性指向bean属性。 如果本地数据无法转换为bean属性指定的类型生命周期将直接前进到“渲染响应”阶段以便重新呈现页面并显示错误。 如果任何updateModels方法或任何监听器在当前FacesContext实例上调用了renderResponse()方法则JavaServer Faces实现将跳过“渲染响应”阶段。 如果应用程序需要重定向到其他Web应用程序资源或生成不包含任何JavaServer Faces组件的响应则可以调用FacesContext.responseComplete()方法。 如果任何事件在此阶段已排队JavaServer Faces实现将它们广播到有兴趣的监听器。 如果当前请求被识别为部分请求则从FacesContext检索部分上下文并应用部分处理方法。 1.5调用应用阶段 在此阶段JSF处理应用程序级事件例如提交表单或链接到另一个页面。 现在如果应用程序需要重定向到其他Web应用程序资源或生成不包含任何JSF组件的响应则可以调用FacesContext.responseComplete()方法。 之后JavaServer Faces实现将控制转移到“渲染响应”阶段。 1.6渲染响应阶段 这是JSF生命周期的最后阶段。 在此阶段JSF将构建视图并将权限委托给相应的资源来呈现页面。 如果这是初始请求则页面上表示的组件将被添加到组件树中。 如果这不是初始请求组件已经添加到树中不需要再添加。 如果请求是回应并且在应用请求值阶段过程验证阶段或更新模型值阶段期间遇到错误则在此阶段将再次呈现原始页面。 如果页面包含h:message或h:messages标签页面上会显示任何排队的错误消息。 在渲染视图的内容之后保存响应的状态以便后续请求可以访问它。 恢复视图阶段可以使用保存的状态。 2.渲染阶段 在此阶段请求的视图作为对客户端浏览器的响应。 视图渲染是以HTML或XHTML生成输出的过程。 所以用户可以在浏览器看到它。 在渲染过程中采取以下步骤。 当客户端对index.xhtml网页进行初始请求时编译应用程序。 应用程序在编译后执行并为应用程序构建一个新的组件树并放置在FacesContext中。 使用由EL表达式表示的组件和与其关联受托管bean属性填充组件树。 基于组件树。 建立了新的视图。 该视图作为响应呈现给请求客户端。 组件树被自动销毁。 在后续请求中重新构建组件树并应用已保存的状态。转载于:https://www.cnblogs.com/jlp6057/p/9385077.html