jsf编程实战导航(jsf开发)
本文目录一览:
- 1、jsf在企业开发中用得多不多
- 2、jsf框架中如何创建servlet,具体步骤和配置是怎么样的??
- 3、学习JSP数据库编程,需要系统地掌握哪些基础知识?
- 4、java,jsf是什么
- 5、jsf和jsp哪个适合大规模web运用?
jsf在企业开发中用得多不多
我觉得是推广的问题
1. 技术上,JSF在2006年就纳入了Java EE的官方规范,所有Java EE应用服务器必须支持JSF;
2. 在JSF的推广方面,复杂的生命周期被放在了太突出的地位,导致很多人知难而退。其实初学者根本不必关心生命周期,从使用的角度看,在项目中使用JSF其实非常容易;
3. 缺乏教材。除了新出的《JSF Web应用开发实战》外,其他书要么太浅要么太深,太浅的让人看了觉得JSF做不了什么,太深的又让人觉得JSF太难。《JSF Web应用开发实战》还不错,注重实战。
4. 人云亦云。很多人看过三两篇JSF的介绍文章就对JSF品头论足,说什么JSF复杂啊不行啊等等。中国程序员的通病。只有真正用过JSF的人才能体会JSF的优势。
看趋势吧,JSF在国外蓬蓬勃勃,国内一般要滞后一段时间,谁先学,谁主动啊。
jsf框架中如何创建servlet,具体步骤和配置是怎么样的??
您好,这样的:
文件faces-config.xml定义了导航规则,决定JSF在用户点击网页中的命令按钮时做什么,网页的路径由标记(/edit.jsp)指定。由元素分别定义了两个导航块(navigation case):
.......... faces-config navigation-rule from-tree-id/edit.jsp/from-tree-id navigation-case from-outcomeeditOutcome/from-outcome to-tree-id/edit.jsp/to-tree-id /navigation-case navigation-case from-outcomeviewOutcome/from-outcome to-tree-id/view.jsp/to-tree-id /navigation-case /navigation-rule .......... /faces-config
文件edit.jsp包含由标记生成的两个按钮。每个都有一个标识(ID)、一个标签、一个命令名称(这里没有使用,但JSF需要)以及一个action或actionRef属性:
f:use_faces h:form formName="pform" .......... p h:command_button id="view" label="View" commandName="viewCmd" action="viewOutcome"/ h:command_button id="boldUpperCase" label="Bold Upper Case / View" commandName="boldUpperCaseCmd" actionRef="pbean.boldUpperCaseAction"/ /h:form /f:use_faces
上面JSP代码生成如下HTML片断:
form method="post" action="/usingjsf/faces/edit.jsp" .......... p input type="submit" name="view" value="View" input type="submit" name="boldUpperCase" value="Bold Upper Case / View" /form
JSF会在每次浏览器提交用户输入时验证表单中的数据。如果验证器没有发出错误信号而且没有类型转换错误,JSF便会分析导航块(navigation case)。对于第一个按钮,JSF会得到action属性的值viewOutcome,该值与第二个导航块的元素中的文本匹配。因此,JSF将HTTP请求转发给view.jsp,文件view.jsp的路径包含在第二个导航块的元素中。
当用户点击第二个按钮时,JSF则调用PBean对象的getBoldUpperCaseAction()方法。该方法返回一个BoldUpperCaseAction的实例,BoldUpperCaseAction则是PBean的内部类。接着,JSF调用invoke()方法,该方法返回一个在运行时决定的结果而不是固定不变的HTML文件:
public class PBean implements java.io.Serializable { .......... public BoldUpperCaseAction getBoldUpperCaseAction() { return new BoldUpperCaseAction(); } public class BoldUpperCaseAction extends javax.faces.application.Action { public String invoke() { String ucText = getText().toUpperCase(); if (isBold() getText().equals(ucText)) return "viewOutcome"; else { setBold(true); setText(ucText); return "editOutcome"; } } } }
如果bold(粗体)属性的值为true(真)并且文本的所有字符为大写的,JSF就按照第二个导航块中的定义,与另一个按钮情况一样JSF将HTTP请求转发给view.jsp。另外,invoke()方法会将bold属性设为true,并将文本的所有字符改为大写的,最后返回字符串editOutcome,使JSF按照第一个导航块的定义,保持edit.jsp为当前页。
学习JSP数据库编程,需要系统地掌握哪些基础知识?
首先学习JAVA编程。
Java 2 入门经典
本书是一本集综合性、实用性为一体的学习Java语言和Java 2平台API的优秀教材,在世界范围内广受欢迎,口碑极佳。书中除讲解Java程序设计语言,还广泛介绍了作为一名Java程序设计人员应该掌握的必要知识,并提供了大量的实用性很强的编程实例。 本书适合作为学习Java的教材使用,也可供Java爱好者参考。
Sun认证Java 2程序员学习指南(Exam310-025)第二版(影印本)
本书介绍全面系统地介绍了Sun公司关于Java 2考试的所有要点,内容包括:语言基储生命与访问控制、操作数、流控制、特殊处理、过载、类、线程、java.lang.Math类、字符串、 java.util包 、java.awt包基储java.awt的事件处理、java.io Package包。本书适合各类Java程序员,尤其适合参加Java 2程序员考试的用户。
Java 2编程指南
本书主要包括以下内容:为最新版本Java 2 SDK1.4而设计的测试代码;Java语言基础内容;应用程序中错误和异常的处理;数据和文件的管理与操纵;并行程序设计和线程;Swing(Java 的GUI);大型图形用户界面的例子Sketcher;用Java语言实现打印功能;XML新技术及其应用。
JSP程序设计 JSP程序设计
JSP(JavaServer Pages)是目前热门的跨平台动态Web应用开发技术。本书由经验丰富的开发人员撰写,是一本通俗易懂的JSP入门书籍。书中主要介绍JSP基础知识、 JSP和表达式语言(EL)、JSP标记库和JSTL、JSP指令、JSP和JavaBean、错误处理、JSP和servlet、访问数据库以及MVC 等。书中展示了许多实际的代码示例,并对一些实例做� ...
JSP编程指南(第三版)
这是一本有关JSP的最新著作,全面讨论了JSP的结构、配置和最新开发技术。结合具体代码介绍和剖析了JSP的组成、Servlet和配置、JSP表达式语言、JSP标志、数据库访问控制、过滤及过滤器技术等,也讨论了程序安全性、性能及伸缩性、最优设计方法等领域的解决方案,最后对Struts、 XDoclet以及其他的一些工具进行了系统的介绍。� ...
JAVA框架一共分为三层:表示层,业务层和物理层。也就是MVC。
我们来一层一层的介绍相关的书籍:
表示层:
实战Struts
Struts解决了许多Web应用程序开发中的常见问题。基于Struts应用程序框架构造的应用程序,除了可以复用业已证明可用的解决方案外,同时也可以使得开发人员更加关注应用程序的特性。Struts是由Apache软件基金会支持的开源软件。本书完整介绍了Struts框架结构,涵盖了设计、数据校验、数据库访问、动态页面生成、本地化、Str ...
Jakarta Struts编程(第二版)
自本书第一版发行以来,Struts开源项目变得越来越受欢迎。尽管这项技术令人振奋,但是它的说明文档却仍然少得可怜――大多数的指南都太简单,那些要编写复杂Web应用程序的开发人员根本找不到所需的关键信息。本书第二版为了填补这个信息缺口,针对最近发布的Struts 1.1版重新修订扩编,提供最新的信息。第二版增加了新的章� ...
这个框架比较老了,就介绍这两本吧!
比较高级的还有:
WebWork in Action 中文版
本书是一本从头至尾都使用现实世界例子讲述有关编写Web应用程序的书籍。WebWork所强调的内容是:利用框架实现你的项目,而不是被框架所阻碍。在本书中,我们将从简单的表单及表单处理开始,逐一讲述编写Web应用程序的基础知识:action、interceptor和result,以及控制反转(IoC)模式、对象图导航语言(OGNL)和所有来自We ...
JSF实战
JSF是Sun公司J2EE标准指定的Web应用框架,得到了众多厂商的支持。本书是JSF方面的名著,共分五个部分。第一部分是JSF基础知识;第二部分是构建UI;第三部分研究将原型转化为实际应用所需的应用代码;第四部分从组件开发的角度来研究JSF;第五部分基于第四部分所讲述的知识给出了大量示例。本书作者是JSF界的权威,在书中提� ...
JavaServer Faces 核心编程 JavaServer Faces 核心编程
SF在Java的WEB编程中已经被认为是下一个重大的事件。通过JSF,你可以在网页上使用组件来捕获用户行为产生的事件。JSF将快速成为标准的WEB应用程序框架。本书可以帮助你掌握这个功能强大的技术。本书特色: 通过本书,你可以在网页上使用组件来捕获用户行为产生的事件。JSF将快速成为标准的WEB应用程序框架。本书可以帮助 ...
在表示层还有一些框架,就不一一介绍了。
然后是业务层,这个层就好象使用一个框架:
Spring 技术手册(含光盘)
本书为Spring的诸多概念提供了清晰的讲解,通过实际完成一个完整的Spring项目示例,展示了Spring相关API的使用,能够显著地减少每一位Spring入门者摸索Spring API的时间,并且从示例学习中获得提高。作者在写作之初,深入思考了每一位入门者所可能遇到的问题,通过简单的例子加上清晰的讲解,使得本书成为学习 Spring Web开 ...
Spring 2.0 宝典(含光盘1张) Spring 2.0 宝典(含光盘1张)
Spring是目前最流行的J2EE框架。本书由浅入深全面地介绍了Spring的结构体系,内容覆盖到Spring近80%的API。全书分 22章,内容涵盖了Spring的核心机制、依赖注入、资源访问、整合Hibernate、DAO支持、JDBC支持、MVC框架、整合第三方表现层和 MVC框架、远程访问支持、EJB访问和实现等。本书的示例都是精心挑选的,具有很强的� ...
Spring in Action 中文版 Spring in Action 中文版3
本书分为三大部分和两个附录,每一部分专注于Spring框架的一个领域:核心层、中间层和Web层。第一部分展示了Spring框架的两个核心概念:反向控制(Inverstion of Control,IoC)和面向切面编程(Aspect-Oriented Programming,AOP),以便读者理解Spring的基础原理,这些基础原理在本书各个章节都会用到。第二部分在第1章介 ...
最后就是物理层,这个方面也一个框架:
精通 Hibernate
本书深入地介绍了Hibernate实现ORM的关键技术,包括Hibernate的底层技术、Hibernate的实现架构、 Hibernate的配置和使用方法、EJB3.0技术和基于Hibernate的开发实例。通过本书,可以全面了解Hibernate的技术和开发方法,深入理解 Hibernate的数据持久化设计,掌握数据层应用开发的方法。 本书适合所有想了解、利用Hiber ...
Hibernate实战(第2版·英文版).
本书全面讲述了Hibernate和Java Persistence,并对两者进行了详细的对比分析。书中通过一个应用将数百个例子融合起来,不仅深入剖析了Hibernate 3.2和Java Persistence 丰富的编程模型,还深刻阐述了数据库设计、对象/关系映射(ORM)和优化等方面的基本原则、策略和最佳实践。书中处处闪烁着作者超凡的真知灼见,将大大 � ...
更多书籍,请参考
希望对你有用!
java,jsf是什么
JSF主要由两个部分组成:一套功能强大的API函数,用来表示UI组件、管理组件状态、处理事件、进行输入有效性验证,以及对国际化和可访问性的支持;一套包含各种页面元素的并允许自定义的JSP标签库,用来在JSP页面中显示JSF的界面。通过使用JSF所提供的简单而又实用的模型,任何开发人员都可以快速轻松地开发Web应用程序。他们可以使用大量现成的可重用的UI组件,并将这些组件与数据源连接,还可以很容易地将客户端事件和服务器端的事件处理程序绑定。强大的JSF技术可以很好地处理和管理任何复杂的用户界面,使开发人员可以将注意力集中在应用程序的开发上。
jsf和jsp哪个适合大规模web运用?
JSF和JSP是一对新的搭档。JSP是用于后台的逻辑处理的技术,而JSF恰恰相反,是使开发人员能够快速的开发基于 Java 的 Web 应用程序的技术,是一种表现层技术。目前,JSF1.2已经正式作为一个标准加入了Java EE 5中。
作为一种高度组件化的技术,开发人员可以在一些开发工具的支持下,实现拖拉式编辑操作,用户只需要简单的将 JSF 组件拖到页面上,就可以很容易的进行 Web 开发了。这是其作为一种组件化的技术所具有的最大好处,我们能用的组件不光是一些比较简单的输入框之类,还有更多复杂的组件可以使用的,比如 DataTable 这样的表格组件, Tree 这样的树形组件等等。
作为一种标准的技术,JSF还得到了相当多工具提供商的支持。同时我们也会有很多很好的免费开发工具可以使用,前不久 Sun Java Studio Creator 2 和 Oracle JDeveloper 10g 作为免费的支持 JSF 的开发工具发布,给 JSF 带来了不小的生气。另外我们也有一些很优秀的商业开发工具可共选择,BEA Workshop (原 M7 NitroX),Exadel,MyEclipse 这样的基于 Eclipse 的插件开发工具,为现在广大的 Eclipse 用户带来了不小的便利,IBM 的 Rational Application Developer 和 Borland 的 JBuilder 也是很不错的支持 JSF 可视化开发的商业开发工具。
JSF和传统的Web技术有着本质上的差别,在传统的Web技术需要用户自己对浏览器请求进行捕捉,保存客户端状态,并且手工控制着页面的转向,等等。而JSF的出现,无疑给我们带来了巨大的便利,JSF 提供了事件驱动的页面导航模型,该模型使应用程序开发人员能够设计应用程序的页面流。与 Struts 的方式向类似的是,所有的页面流信息都定义在 JSF 配置 XML 文件 (faces-config.xml) 中,而非硬编码在应用程序中。这很大程度简化了开发人员开发难度,简化了应用程序的开发。
同时JSF也是一种遵循模型-视图-控制器 (MVC) 模式的框架。实现了视图代码(View)与应用逻辑(Model)的完全分离,使得使用 JSF 技术的应用程序能够很好的实现页面与代码的分离。所有对 JSF 页面的请求都会通过一个前端控制器 (FacesServlet) 处理,系统自动处理用户的请求,并将结果返回给用户。这和传统的 MVC 框架并没有太大的区别。
在JSF中不仅使用了 POJO 技术,而且还使用了类似 Spring 的控制反转(IoC) (或称为依赖注入-DI) 技术,在 JSF 的 Backing Bean 中,我们可以把视图所需要的数据和操作放进一个 Backing Bean 中。同时得益于 JSF 使用的 DI 技术,我们可以在配置文件中初始化 Managed Bean,同时我们也可以通过这样的技术很方便的和使用类似技术的 Spring 进行整合。