java框架有很多,比如Spring、JHipster、Blade等都是java框架,使用这些框架能够帮助程序员更加快捷开发项目,那jsf框架怎么样?下面来我们就来给大家讲解一下jsf框架的相关内容。
jsf框架对于程序员来说是一个很好用的框架,引入了基于组件和事件驱动的开发模式,使开发人员可以使用类似于处理传统界面的方式来开发Web应用程序。提供了行为与表达的清晰分离。 不用特别的脚本语言或者标记语言来连接UI组件和Web层。JSF技术API被直接分层在Servlet API的顶端。 技术为管理组件状态提供一个丰富的体系机构、处理组件数据、确认用户输入和操作事件。
jsf是如何工作的?
JSF(Java Server Faces)的本质也是Servlet,只不过实现Servlet的方式不同而已。那到底JSF是怎样的Servlet呢,有比较才会有不同。总结相同,区分不同。
首先,JSF与经典的Servlet请求处理的流程不同。熟悉Servlet的程序员都清楚,Servlet的请求处理是由界面的submit提交按钮将界面表单提交给后台,服务器通过request,session等对象获取表单数据,最后通过response对象将结果返回给界面。Servlet请求处理流程,是需要我们程序员去关注去实现的。
而JSF请求过程中不需要通过request等变量获取值,它将浏览器端的页面变量与服务端的java对象对应起来了,依靠事件驱动完成请求。程序员使用JSF再也不用关心如何在给后台传值如何在界面取值了。直接在界面中使用由数据的ManagedBean就行了。
其次,Servlet接口实现方式不同。JSF的核心类javax.faces.webapp.FacesServlet,直接实现Servlet接口,该类定义为final类型,不希望开发人员去扩展实现,其已提供完整的对请求处理的解决方案。httpServlet是abstract的,目的是让子类去实现,因此其他框架是对Servlet类的扩展实现。
还有,核心方法也不同。HttpServlet根据request.getMethod的请求类型区分,是doPost还是doGet。facesServlet会交由生命周期接口处理,由一下六个阶段。
1、恢复视图阶段负责创建或者恢复视图,视图指UIViewRoot对象,是UIComponent对象的子类,视图组件是请求对应页面的组件树的根(面向组件架构)
2、接受请求值阶段将页面元素对应组件树上的组件值。
3、处理验证阶段负责校验组件树上的组件值。主要是验证界面上定义了验证器组件的数值。一旦约束校验不通过,会抛出validatorException
4、更新模型值阶段将组件树上的值对应ManagedBean对象属性值。也就是为MBean赋值过程。
5、调用应用阶段负责处理自定义事件,界面上的action指向MBean中的方法,action对应的方法,是在该阶段被调用的。
6、渲染应答阶段:结果返给客户端浏览器。
JSF可以快速开始项目,有很多示例,还能确保应用程序具有更高的可维护性,确保程序员能够高效的使用这个框架进行开发。最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。
推荐阅读: