03_1_JSF在Web开发中的应用

上传人:豆浆 文档编号:49047940 上传时间:2018-07-22 格式:PPT 页数:79 大小:675.50KB
返回 下载 相关 举报
03_1_JSF在Web开发中的应用_第1页
第1页 / 共79页
03_1_JSF在Web开发中的应用_第2页
第2页 / 共79页
03_1_JSF在Web开发中的应用_第3页
第3页 / 共79页
03_1_JSF在Web开发中的应用_第4页
第4页 / 共79页
03_1_JSF在Web开发中的应用_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《03_1_JSF在Web开发中的应用》由会员分享,可在线阅读,更多相关《03_1_JSF在Web开发中的应用(79页珍藏版)》请在金锄头文库上搜索。

1、第三章 JSF入门Email:信息类专业课程西北农林科技大学主要内容oJSF简介oJSF入门oJSF标签oJSF开发环境Web开发技术oWeb架构n用超文本技术(HTML)实现信息与信息的连接;n用统一资源定位技术(URI)实现全球信息的精确定位;n用新的应用层协议(HTTP)实现分布式的信息共享。 o静态 动态o客户端技术nHTML、Java Applets、JavaScript、ActiveX、CSS、DHTML、XHTMLo服务端技术nCGI(Common Gateway Interface) oC、C+、Pascal oPerl、PythonnPHP、ASP、Servlet(JSP)+

2、 JavaBean最新发展oJava Web框架nStruts、Spring MVC、WebWork、TapestrynJSFoAJAX(Asynchronous JavaScript and XML)nXHTML 和 CSS 的标准表示; n使用文档对象模型DOM实现动态显示及用户交互;n使用 XML 、XSLT和XMLHttpRequest进行数据交换及操作;n使用 javascript 将所有技术绑定在一起。oAgile WebnRuby on Rails nPython(Django、TurboGears、Pylons)二、JSF简介o什么是JSFoJSF的特性oJSF与其它框架的比较

3、oJSF实现oJSF示例什么是JSFoJavaServer Faces (JSF) :符合JavaEE5标准 的Java Web应用框架。目标:简化开发。 oJSF提供:n标准的编程接口n丰富可扩展的组件库o一个核心的JSP标记库用来处理事件、执行验 证以及其他非UI相关的操作(core)o一个标准的HTML标记库来表示UI组件(html )n事件驱动模型oJSF通过IDE工具支持拖放式开发。 JSF的由来和目标o由来nEJB2的失败n非官方Web框架的兴起o目标n简化开发n超越现有Web框架n试图在不同的角度上提供网页设计人员、应用程序 设计人员、组件开发人员解决方案,让不同技术的人 员可以

4、彼此合作又不互相干扰JSF 体系结构 oJSF 的主要优势之一就是它既是 Java Web 用户界面标准又 是严格遵循模型-视图控制器 (MVC) 设计模式的框架。用户 界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离 使 JSF 应用程序更易于管理。为了准备提供页面对应用程序数 据访问的 JSF 上下文和防止对页面未授权或不正确的访问,所 有与应用程序的用户交互均由一个前端“Faces”servlet(控 制器)来处理。 JSF的特性o技术特性 n一流的UI组件和事件模型nPOJO依赖注入(又称控制反转) n客户端独立性 n使用或者不使用工具 n可扩展的导航(类似于Struts导航,注

5、:Page导航) n强大的扩展能力 (如Shale) n完全的集成(如集成Spring、JPA) n本地化和易理解性JSF的特性o市场和商业特性 n广泛的采用,包括SUN,Oracle,IBM,BEA, Apache,EDS n作为JavaEE 5.0的组成部分 n大型第三方组件市场(iLog, Business Objects, Oracle, Sun, IBM) n业内领先的工具支持(Sun Java Studio Creator, NetBeans,Oracle JDeveloper, IBM WSAD, BEA Workshop, Exadel Studio) 与其它框架的比较(来自T

6、SS)技术特性商业使用JSF4.83.9WebWork4.23.1Shale4.951.3Tapestry4.752.8Wicket0.7Struts4.24.6JSF的优势oUI组件(UI-component) o事件驱动模式o用户界面到业务逻辑的直接映射 o程序员和网页设计人员的分工 o请求处理生命周期的多阶段划分 o全面的用户自定义支持 oWeb开发的官方标准之一o大量的IDE工具支持JSF实现oJSF是标准o实现nSun JSF RInApache MyFaceso组件库nTomahawknADF Faces (from Oracle)nTobago JSF示例第一个JSF程序 请输入

7、您的名称 名称: 二、JSF入门o第一个JSF程序oJSF Expression Language o国际化(I18N)oManaged Beanso数据转换与验证o事件处理第一个JSF程序oJSF开发环境nEclipse WTPnJSF插件nJSF实现(MyFaces)nTomcatoManaged-BeanoJSP页面oPages NavigationJSF应用一:输入页面f:loadBundle basename=“messages“ var=“msg“/用于临时加载国际化资源的语言包输出指定key对应的国际化消息JSF应用一:输入页面JSF应用二:开发托管Bean从作用上看托管Bean

8、类似struts2的Action,但作用模式不同。对于struts2的Action而言,应用通过表单提交方式把请求提交到struts2的Action;但JSF的托管Bean,系统直接将JSF中的UI组件的行为绑定到托管Bean的属性或方法。如:该文本框的行为绑定到login Bean的name属性。该按钮的行为直接绑定到login Bean的valid方法上JSF应用二:开发托管Beanpublic class LoginBean /下面的三个属性都会直接与JSF标签绑定 private String name; private String pass; private String err;

9、 . . . /该方法被绑定到UI组件(按钮)的action属性 public String valid() if (name.equals(“crazyit“) setErr(“您的用户名和密码不符合“);return “failure“; JSF应用三:定义导航规则 JSF以导航规则来决定逻辑视图与物理视图资源之间的对应关系; JSF导航规则可以指定系统从哪个页面开始,以该页面的提交按钮绑定的值作为 逻辑视图; JSF使用标准的配置文件定义导航规则; JSF允许每个表单域单独触发事件,JSF常用的两类事件: ValueChange事件:表单域的值发生改变时触发该事件; Action事件:用

10、户单击按钮或超链接时触发这类事件。JSF应用三:定义导航规则/login.jspsuccess /greeting.jspfailure /login.jspfaces-config-nav.xmlJSF应用四:解读JSF配置对于大部分JSF初级开发者而言,常作的两件事是:定义托管Bean,配置XML文件。 配置核心控制器Web应用基本上是请求-响应架构,即:用户向Web应用发请求,Web应用处理请求,处理完成后将请求送回客户端。JSF与传统的MVC框架一样,也提供了一个核心控制器负责处理所有用户请求,即javax.faces.webapp.FacesServlet,它就是JSF的核心控制器。

11、FacesServlet是一个标准的Servlet,因此,它的配置与普通Servlet没有太大区别,同样是先配置Servlet,再配置Servlet映射的URL,配置文件时web.xml。JSF应用四:解读JSF配置FacesServlet javax.faces.webapp.FacesServlet 1FacesServlet *.jsf配置FacesServlet的代码片段如下:上面配置片段指定使用FacesServlet来拦截所有已.jsf结尾的请求,值得注意 的是 FacesServlet拦截的URL不一定是*.jsf,完全可以有用户随意指定。如: *.faces、*.do等。JSF

12、应用四:解读JSF配置javax.faces.CONFIG_FILES/WEB-INF/faces-config-beans.xml,/WEB-INF/faces-config-nav.xmljavax.faces.STATE_SAVING_METHODclient:为整个web用于配置参数JSF应用四:解读JSF配置JSF有效参数名及其作用如下: javax.faces.STATE_SAVING_METHOD:指示是在客户端(client)还是在服务 器端(server)保存UI组件的状态。 JSF有保存页面中组件状态的能力,以便 在页面被重新显示时记住用户输入的信息。组件状态可以保存在客户

13、端也可保 存在服务器端,这取决于javax.faces.STATE_SAVING_METHOD 参数的设置值。 可能的取值是client 和 server(默认值)。 javax.faces.DEFAULT_SUFFIX:该参数指定JSF映射视图资源时的默认后缀 名,默认值是.jsp,不需要改变参数的值。JSF应用四:解读JSF配置 javax.faces.CONFIG_FILES:该参数指定JSF配置文件的存放位置。默认情 况下JSF会自动加载位于WEB_INF下的faces-config.xml文件。如果包含多个 JSF配置文件,则需要指定该参数,通过逗号分割不同的(相对路径)配置文 件;

14、如果只有一个JSF配置文件,且文件为位于WEB_INF下的faces-config.xml, 则可以省略该参数。 javax.faces.LIFECYCLE_ID:该参数指定JSF所管理的生命周期实例的标识 符,该参数通常无需修改。JSF应用四:解读JSF配置 com.sun.faces.verifyObjects:该参数用于指定是否需要验证自定义组件。 当JSF应用中定义了自定义组件、转换器、校验器时,可以设置应用启动时验 证这些自定义组件。该参数的值只能是true或false。 com.sun.faces.validateXml:该参数指定是否需要验证JSF应用中的xml文件 。 com.

15、sun.faces.NUMBER_OF_VIEWS_IN_SESSON:当状态保存方法设置为server时,控制会话中保存的视图数量 ,当设置为-1时表示没有限制。JSF配置文件结构JSF配置文件根元素都是元素,JSF应用配置总体分 为三种:分别针对日常应用开发,UI扩展开发(编写组件,呈现器,转换器或者 验证器)和高级开发。最常见的两个元素是: :JSF应用中所有托管Bean都在该元素下配置、管理。 :该元素用于管理JSF应用的导航规则。 类别特征XML元素 日常应用配置和高级 扩展的注册应用配置。用于指定支持的语言,定制应用消 息的位置,默认的呈现包,以及高级的可插入 组件受管bean创建

16、工具。 控制在特定范围的对象的自动创建被引用的 bean用来告诉IDE其它可以访问的对象的导航规则 ,控制一个页面到另一个页面的应用流用户界面扩展注册组件注册。用于向系统注册组件 呈现包和呈现器注册。用于向呈现包添加呈现 器或者定义整个新的呈现包验证器注册。用于向系统注册验证器 转换器注册。用于向系统注册转换器 高级扩展特征的配置阶段监听器注册。向系统注册阶段监听器 工厂配置。定义实例化核心JSF类的工厂JSF配置文件结构三、JSF Expression Language o搭配 JSF 标签来使用,是用来存取数据对象的一个简易语言。 o以#开始,将变量或运算式放置在 与 之间。n#userBean.nameoEL的变量名也可以程序执行过程中所声明的名称,或是JSF EL 预定义的隐含对象。n#param.nameo对于Map类型对象,可以使用 . 运算符指定key值来取出对 应的value,也可以使

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号