JSF简介

JSF 简要介绍

也许你之前使用过Struts,SpringMVC,甚至于直接采用JSP+Servelet开发过web层。
JSF与这些最大的不同是JSF是基于一种以组件为中心的用户界面(UI)构建方法,从而简化了Java服务器端应用程序的开发。
开发人员把精力能更集中在实现业务上。

1,JSF(Java Server Faces)的本质也是Servlet,只不过实现Servlet的方式不同而已。

1.1,JSF与经典的Servlet请求处理的流程不同。

Servlet的请求处理是由界面的submit提交按钮将界面表单提交给后台
服务器通过request,session等对象获取表单数据,最后通过response对象将结果返回给界面。 Servlet请求处理流程,是需要我们程序员去关注去实现的。 而JSF请求过程中不需要通过request等变量获取值,
它将浏览器端的页面变量与服务端的java对象对应起来了,依靠事件驱动完成请求
。 程序员使用JSF再也不用关心如何在给后台传值如何在界面取值了。 直接在界面中使用由数据的ManagedBean就行了。

 1.2,Servlet接口实现方式不同。

JSF的核心类javax.faces.webapp.FacesServlet,
直接实现Servlet接口,该类定义为final类型,不希望开发人员去扩展实现,其已提供完整的对请求处理的解决方案。 httpServlet是abstract的,目的是让子类去实现,因此其他框架是对Servlet类的扩展实现。

1.3,核心方法也不同。

HttpServlet根据request.getMethod的请求类型区分,是doPost还是doGet。

facesServlet会交由生命周期接口处理,由一下六个阶段。
1:恢复视图阶段负责创建或者恢复视图,视图指UIViewRoot对象,是UIComponent对象的子类,
视图组件是请求对应页面的组件树的根(面向组件架构)
2:接受请求值阶段将页面元素对应组件树上的组件值。 3:处理验证阶段负责校验组件树上的组件值。主要是验证界面上定义了验证器组件的数值。
一旦约束校验不通过,会抛出validatorException
4:更新模型值阶段将组件树上的值对应ManagedBean对象属性值。也就是为MBean赋值过程。 5:调用应用阶段负责处理自定义事件,界面上的action指向MBean中的方法,action对应的方法,是在该阶段被调用的。 6:渲染应答阶段:结果返给客户端浏览器

补充:JSF简介

posted @ 2018-11-06 14:51  假程序猿  阅读(1980)  评论(0)    收藏  举报