JSF入门

来源:互联网 发布:java中冒号的作用 编辑:程序博客网 时间:2024/06/12 09:05

最近参与公司的其他项目,但所采用的是JSF。所以就对JSF进行了一下学习。

故整理一下。也当做个笔记。

 

简介JSF
Web应用程序的开发与传统的单机程序开发在本质上存在着太多的差异,Web
应用程序开发人员至今不可避免的必须处理HTTP的细节,而HTTP无状态的
(stateless)本质,与传统应用程序必须维持程序运行过程中的信息有明显的违背,
再则Web应用程序面对网站上不同的使用者同时的存取,其执行线程安全问题以及
数据验证、转换处理等问题,又是复杂且难以解决的。
另一方面,本质上是静态的HTML与本质上是动态的应用程序又是一项违背,
这造成不可避免的,处理网页设计的美术人员与程序设计人员,必须被彼此加入至
视图组件中的逻辑互相干扰,即便一些视图呈现逻辑以标签的方式呈现,试图展现
对网页设计美术人员的亲切,但它终究必须牵涉到相关的流程逻辑。
有很多方案试着解决种种的困境,而各自的着眼点各不相同,有的从程序设计
人员的角度来解决,有的从网页设计人员的角度来解决,各种的框架被提出,所造
成的是各种不统一的标签与框架,为了促进产能的集成开发环境(IDE)难以整合
这些标签与框架,另一方面,开发人员的学习负担也不断的加重,他们必须一人了
解多个角色的工作。
JavaServer Faces的提出在试图解决这个问题,它试图在不同的角度上提供网页
设计人员、应用程序设计人员、组件开发人员解决方案,让不同技术的人员可以彼
此合作又不互相干扰,它综合了各家厂商现有的技术特点,由Java Community
Process(JCP)团队研拟出来的一套标准,并在2004年三月发表了JavaServer Faces 1.0
实现成果。
从网页设计人员的角度来看,JavaServer Faces提供了一套像是新版本的HTML
标签,但它不是静态的,而是动态的,可以与后端的动态程序结合,但网页设计人
员不需要理会后端的动态部份,网页设计人员甚至不太需要接触JSTL这类的标签,
也可以动态的展现数据(像是动态的查询表格内容),JavaServer Faces提供标准的
标签,这可以与网页编辑程序结合在一起,另一方面,JavaServer Faces也允许您自
定义标签。
从应用程序设计人员的角度来看,JavaServer Faces提供一个与传统应用程序开
发相类似的模型(当然因某些本质上的差异,模型还是稍有不同),他们可以基于
事件驱动来开发程序,不必关切HTTP的处理细节,如果必须处理一些视觉组件的属
性的话,他们也可以直接在整合开发环境上拖拉这些组件,点选设定组件的属性,
JavaServer Faces甚至还为应用程序设计人员处理了对象与字符串(HTTP传送本质上
就是字符串)间不匹配的转换问题。
从UI组件开发人员的角度来看,他们可以设计通用的UI组件,让应用程序的开
发产能提高,就如同在设计Swing组件等,UI开发人员可以独立开发,只要定义好
相关的属性选项来调整细节,而不用受到网页设计人员或应用程序设计人员的干扰。
三个角色的知识领域原则上可以互不干扰,根据您的角色,您只要了解其中一
个知识领域,就可以运用JavaServer Faces,其它角色的知识领域您可以不用了解太
多细节。
当然,就其中一个角色单独来看,JavaServer Faces隐藏了许多细节,若要全盘
了解,其实JavaServer Faces是复杂的,每一个处理的环境都值得深入探讨,所以学
习JavaServer Faces时,您要选择的是通盘了解,还是从使用的角度来了解,这就决
定了您学习时所要花费的心力。
要使用JSF,首先您要先取得JavaServer Faces参考实现(JavaServer Faces
Reference Implementation),在将来,JSF会与Container整合在一起,到时您只要下
载支持的Container,就可以使用JSF的功能。

 

 

下面就具体工程来做个介绍。

 

开发工具:MyEclipse8.5

服务器:Tomcat

 

首先新建一个web工程:jsfdemo

 

然后copy

* jsf-impl.jar
* jsf-api.jar
* commons-digester.jar
* commons-collections.jar
* commons-beanutils.jar
* jstl.jar
* standard.jar

  到lib目录下。

然后对web.xml修改。

代码如下:

 

 

第一个JSF程序:

 

  》》》UserBean ---在src目录下创建UserBean.java

 

 

》》》faces-config.xml 在web-inf下面创建此文件

 

》》》index.jsp 创建index.jsp文件

 

》》》welcome.jsp 创建welcome.jsp文件

 

 

 

 

最后进行发布开始访问:

 

 

http://localhost:8080/jsfdemo/pages/index.jsp

 

 

 

浏览器出现如图所示错误:

 

 

 

 

 

出现此错误就很纳闷。因为第一次接触,所以查阅了相关资料。

 

访问地址应该是:http://localhost:8080/jsfdemo/pages/index.faces

 

这样才成功。

 

例子下载地址:

 

 http://dl.dbank.com/c06gmt69m9 

 

 

 

谢谢大家

 

 

原创粉丝点击