Posted on 2010-06-10 15:37
非洲小白脸 阅读(349)
评论(0) 编辑 收藏 所属分类:
框架文章
JSF六个底层原理:
--重建组件树:jsf应用里的jsp页面被表示成一个组件树。在这个阶段里,通过重建这棵树开始LifeCycle处理过程。每个组件树都有一个在整个应用程序范围里唯一的标识符,此标识符是所请求URI的路径信息部分
--应用请求值:在这个阶段,使用请求里的当前值来更新每个组件的本地值,这些值可能来自请求参数,请求的包头及cookie。在这个阶段的处理中,组件可以往事件队列里加入某些事件,这些事件可在随后的处理阶段处理
--处理验证:当每个组件的本地值被更新后,在此阶段中LifeCycle对象会验证这些值的合法性。要求验证的组件必须提供验证逻辑的实现。作
为选择,开发人员可以为一个组件注册0个或者多个验证器。如果发现外部验证器,那么还会应用这些外部验证器里的验证逻辑来验证本地值。
--更新模型值:只有当组件树中所有的组件的本地值都通过验证后,才有可能到达该阶段。在这个阶段中,LifeCycle更新呢应用的模型数据。组件在这个节点也可以排列事件。
--调用应用:在这个阶段,JSF实现处理所有应用层次的时间。
--呈现响应:在这个阶段,JSF实现将相应发挥客户端。
JSF的生命周期:
恢复视图--应用请求值--处理验证--呈现响应--调用应用程序--更新模型值
JSF的工作方式:
JSF应用是通过处理由页面中组件处罚的事件来工作的。这些事件是由用户的动作引起的。(JSF是事件驱动的)
--创建FacesContext
--把控制权交给LifeCycle
--分六个阶段处理FacesContext
ajax原理:
-----一个异步无刷新的技术,主要是通过在客户端浏览器内置的XMLHttpRequest对象,发送和接收请求。
XMLHttpRequest对象先把请求发送给浏览器中内置的ajax引擎,通过引擎转发给对应的服务器,并且引擎还要负责接收服务器的返回,
和服务器进行交互,即时获取服务器的状态。还要负责把服务器的返回发送给客户端。客户端通过XMLHttpRequest对象对返回结果进行解析
Http原理:
----最常见的网络传输协议。速度快,无状态。
----不管客户端用什么频率去请求服务器的资源,服务器只会去响应,而不会去保存客户端的任何状态
Struts原理:
----web服务器启动的时候读取web.xml文档,创建ActionServlet对象。
----当客户端请求发起是,ActionServlet拦截请求,截取特定的请求,获取请求的名称。
----然后读取Struts读取配置文件,根据请求的名称读取相关信息,保存在moduleConfig对象中
----找到其中的ActionMapping和path属性,来进行请求是否匹配的判断
----如果发现有对应的path,则将请求转到对应的Action,并且创建ActionForm对象,获取从请求中传递来的参数,将参数保存在ActionForm中,调用Action的execute方法
----ActionServlet接收Action处理完业务逻辑返回的结果---ActionForward对象
----然后在配置文件找到对应的forward路径,将显示转发或者重定向到找到的路径。
Servlet MVC原理:
----服务器启动的时候读取web.xml,创建servlet对象。
----当客户端发起请求的时候,servlet负责拦截指定的请求,根据请求的方式是get还是post调用对象的doGet或者doPost方法。
----doGet,doPost中通过request或者response控制页面的转发或者重定向