JSF学习(零) —— 从零开始

[size=large] 最近又要换项目组了,又是没用过的技术,这两年用了不下10种技术或者框架,看着很牛是不是,我只想说,用了不精不如自挂东南枝。
新项目要学JSF有木有,话说Velocity刚刚用熟反应不过来有木有,又要记一堆的标签和属性有木有,面向组件有木有,事件驱动有木有,生命周期很复杂有木有…

抱怨归抱怨,我们还是要以一颗好学且崇敬的心去学习每一门技术。
好吧,今天心态不好,以下内容几乎全是转的,望周知…

JavaServer Faces (JSF):JSF是一种用于构建 Web 应用程序的新标准Java框架。它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。JavaServer Faces 还引起了广大Java/Web开发人员的兴趣(本人没兴趣)。J2EE开发人员和 Web 设计人员将发现JSF开发可以简单到只需将用户界面 (UI) 组件拖放到页面上(没发现),而J2EE开发人员将发现丰富而强健的JSF API为他们提供了无与伦比的功能和编程灵活性(是吗)。JSF 还通过将良好构建的MVC设计模式集成到它的体系结构中,确保了应用程序具有更高的可维护性。最后,由于 JSF 是通过Java Community Process (JCP)开发的一种 Java 标准,因此开发工具供应商完全能够为JavaServer Faces提供易于使用的、高效的可视化开发环境。

使用JavaServer Faces Technology创建一个JSP页面时,在服务器的内存中会建立一个组件树,每一个组件标签对应树中的一个UIComponent实例。该框架使用组件树来处理应用程序的请求并且创建一个呈现出的响应。当用户生成一个事件时,例如,点击了一个按钮JavaServer Faces生命周期即处理该事件并且产生适当的响应。
FacesServlet是进入JavaServer Faces框架的入口点。它处理请求处理生命周期并且用作一个前端控制器。JavaServer Faces Technology也有保存重要请求信息的上下文的概念。上下文对象被称为FacesContext。在JavaServer Faces Technology生命周期的每个阶段上下文对象都被修改并且每次请求时都是有效的。

JSF提供了以下东东:
标准的编程接口
丰富可扩展的组件库
一个核心的JSP标记库用来处理事件、执行验证以及其他非UI相关的操作(core)
一个标准的HTML标记库来表示UI组件(html)
事件驱动模型
JSF通过IDE工具支持拖放式开发。

JSF目标
简化开发
超越现有Web框架
试图在不同的角度上提供网页设计人员、应用程序设计人员、组件开发人员解决方案,让不同技术的人员可以彼此合作又不互相干扰

JSF的主要优势之一就是它既是 Java Web 用户界面标准又是严格遵循模型-视图-控制器 (MVC) 设计模式的框架。用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使 JSF 应用程序更易于管理。为了准备提供页面对应用程序数据访问的 JSF 上下文和防止对页面未授权或不正确的访问,所有与应用程序的用户交互均由一个前端“Faces”servlet(控制器)来处理。

JSF开发所需要的包
jsf-api.jar 包含有 Faces servlet 与其它相关 javax.faces 包下面的类
jsf-impl.jar JSF 的参考实现
jstl.jar 包含JavaServer Faces Standard Tag Library classes(JSTL)。
standard.jar使用JSTL时需要用到它

Web.xml 配置JSF 应用的引擎
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class> javax.faces.webapp.FacesServlet </servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
使用JSF时,所有的请求都透过FacesServlet来处理

JSP引入标签库
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
JSF的core与html标签库,core是有关于UI组件的处理,而html则是有关于HTML的进阶标签
抄完,不是,是转完收工。[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值