• 1. 第六章 JavaBean技术基础知识JavaBean是Java中的一个组件技术,类似于微软的COM组件,其本质上是一个封装了一系列属性和方法的类。该类遵循一定的标准,提供公共的方法,只要遵循同样的标准,用户就可以调用封装在JavaBean里面已经设计好的方法,从而达到代码重复利用的目的。本章从JavaBean的基本概念开始介绍,通过具体的例子重点讲解JavaBean在JSP中的使用方法,通过本章的学习读者可以对JavaBean的概念体系有一个整体的把握,并通过示例程序的学习学会在实际开发中使用JavaBean。
  • 2. 6.1 JavaBean简介Sun公司对JavaBean的定义为:可以重复利用的软件组件,它在遵循JavaBean技术规范的基础上提供特定的功能,这些功能模块可以组合成更大规模的应用系统。
  • 3. 6.1.1 什么是JavaBean在开始认识JavaBean之前先浏览以下的程序代码,这段程序的功能就是求出a,b的和并且在控制台输出。
  • 4. 6.1.2 JavaBean的种类在章节6.1.1中通过一个简单的示例认识了什么是JavaBean,下面进一步了解JavaBean的分类。JavaBean大体可以分为两类,第一类是可视化JavaBean,第二类是非可视化JavaBean。
  • 5. 6.1.3 JavaBean的编码规则在前面的章节中一再强调JavaBean要遵循特定的规范标准,这个规范标准是JavaBean区别于普通的Java类的一个标志,而这个标准在JavaBean的体现就是特定的编码规则,下面还是通过简单的示例代码来了解这个规范标准。
  • 6. 6.1.4 JavaBean典型示例在上面的章节中讲述了JavaBean的概念、分类和编码规则,下面来将给出一个比较综合的JavaBean的示例程序,用来全面展示JavaBean特性和编码规则。请浏览下面的程序代码。
  • 7. 6.2 在JSP中使用JavaBeanJSP+JavaBean的组合已经成为开发小型B/S应用的最佳选择,使用JavaBean可以把业务处理功能从JSP页面分离,从而减少JSP页面中间的Java代码量,使JSP页面专注处理数据的显示,从而使页面的逻辑变得十分清晰,自从采用JSP+JavaBean的组合,编写和维护JSP的程序已经不在是一件令人头疼的事情,JavaBean的出现给JSP的开发带来了质的变化,JSP的开发从此变得简单可行。
  • 8. 6.2.1 为什么要在JSP中使用JavaBeanJSP本质就是把Java代码嵌套在静态的HTML页面中间,从而是静态的HTML页面有了动态的功能,从原理上说,仅仅用JSP就可以实现所有动态功能,既然这样采用JavaBean的原因何在,(具体内容请参照书。)
  • 9. 6.2.2 JSP中使用JavaBean的具体方法 在本章节将实现一个最简单的HelloWorld的JavaBean,并且在JSP页面中调用这个JavaBean,展示的重点在如何从JSP中调用JavaBean。
  • 10. 6.2.3 JavaBean的编译部署编译JavaBean就是编译Java类文件,这和编译一般的Java文件没有什么区别,在本书的第二章有详细的介绍,此处不再赘述。所谓的部署就是把编译好的JavaBean的类文件放在合适的位置,以便在JSP中可以访问这些类文件。而JavaBean类文件的组织方法有两种,一种是单独的class文件,另一种是把多个class文件打包成一个jar文件。而这两种方法的部署方法是不同的,下面详细介绍JavaBean的部署方法,重点是在JSP中JavaBean的部署。
  • 11. 6.3 计数器JavaBean对于一个Web应用来说,计数器的功能几乎是必不可少的。在接下来的章节将要介绍的就是实现一个简单的计数器。这个计数器使用JavaBean来实现。
  • 12. 6.3.1 计数器JavaBean背景知识为了统计访问顾客的数量,很多网站都会提供计数器的功能。计数器的实现思路有很多,可以把访问的数量记录在数据库库中,也可以把访问的数量记录放在一个文本文件中,当然也可一把访问的数量记录设置成为一个有效范围为application的变量,这样在整个应用运行期间这个变量都是有效的。
  • 13. 6.3.2 计数器JavaBean的具体实现本章的重点讲解内容是如何在实际的应用场景中使用JavaBean,为了不让数据库操作或者是文本操作干扰读者的视线,在这里选用在application中存储计数器的值。(具体内容请参照书。)
  • 14. 6.3.3 计数器JavaBean的调用方法示例上面这个JavaBean的功能是定义一个计数器变量,并且给出这个变量的取值和赋值的方法,按照上面JavaBean的部署方法把这个文件放在适当的位置就可以在JSP页面中调用,(具体内容请参照书。)
  • 15. 6.4 数据库操作封装的JavaBeanJavaBean同样可以使用到数据库开发中,从而简化开发过程,提高代码的可重用性。接下来的将要介绍的内容就是利用JavaBean封装数据库操作。
  • 16. 6.4.1 数据库操作封装的JavaBean的背景知识在大量的Web应用中,数据库操作占据着相当大的比重。初学者经常性的习惯在每一个需要数据库操作的地方重复进行下列动作――“加载驱动类,提供连接字符串、用户名和密码,利用DriverManager取得连接,在此连接基础上执行数据库操……”,针对上面提出的问题依然可以采用JavaBean来解决,我们可以把数据库操作的方法都封装在一个JavaBean中,这样如果要对数据库的用户名密码做改动或者是对数据库操作的某种方法进行修改的话都会变的非常容易。
  • 17. 6.4.2 数据库操作封装JavaBean具体实现过程(具体内容请参照书。)
  • 18. 6.4.3 数据库操作封装JavaBean关键代码解析在使用上面这个JavaBean之前现了解下中间关键代码的实现过程,至于数据库连接的详细内容在接下来的第七章将有详细的讲解,在这里仅仅做简单的介绍,读者只需知道怎么使用这个JavaBean即可,详细的数据库操作理论可以在接下来的章节详细学习。请看下面的代码片段。Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
  • 19. 6.4.4 数据库操作封装JavaBean调用方法示例上面这个JavaBean中的使用方法都是类似的,此处仅仅以数据库查询方法为例进行讲解。(具体内容请参照书。)
  • 20. 6.5 对应数据库表结构的实体JavaBean把数据库表抽象成对应的Java类,这样就可以在数据库操作中引入面向对象的操作理念。接下来的章节将要讲述的就是这个理论的一种实现方法。
  • 21. 6.5.1 实体JavaBean的背景知识如何在数据库操作中引入面向对象的操作方法,现在这个问题已经有了比较好的解决方案,那就是ORM(Object / Relational Mapping),在本书第十九章将要讲述的Hibernate就是基于这种理论,在本章我们将采用JavaBean来简单的实现ORM理论。
  • 22. 6.5.2 对应数据库表结构实体JavaBean的实现过程下面将讲述怎样利用JavaBean实现ORM,在这里我们仍然使用SqlServer 2000自带的数据库pubs,数据库表选用pubs中的jobs表,(具体内容请参照书。)
  • 23. 6.5.3 采用实体JavaBean以后对数据库封装方法的改造上面这个JavaBean就可以清楚的描述jobs表的结构,接下要解决的问题是怎么在把数据库表和这个JavaBean类映射起来,使对JavaBean类对象的操作能够被持久化到数据库中,在Hibernate中采用的是单独的XML映射文件来实现。在这里仅仅是简单的实现ORM,所以就省略了这个文件,把数据库的操作直接放在数据库操作JavaBean中,(具体内容请参照书。)
  • 24. 6.5.4 实体JavaBean及对应数据库操作方法的调用示例经过这样的处理以后对jobs表的处理就可以直接对Jobs的对象执行操作,此处仅仅展示使用这个JavaBean进行数据库查询的处理方法,其他各种数据库操作的方法可以参考这个示例,这个改进后的数据库操作JavaBean的具体调用方法请参考下面的代码,(具体内容请参照书。)
  • 25. 6.6 分页操作JavaBean分页操作在Web应用中也是必不可少的,记下来要介绍的就是如何对在上面例子的基础上添加分页的效果。
  • 26. 6.6.1 分页操作的背景知识在上一个章节的数据库查询示例中可以看到所有的记录都显示在一个页面中,在数据量比较小的情况下这样处理并没有什么不妥之处,但是当数据量比较大的时候,例如上千甚至上万条记录,这时候不仅页面浏览不方便,而且每次打开也页面都要一次性的查处所有记录并显示,这样页面访问的速度就可想而知了。
  • 27. 6.6.2 分页操作JavaBean具体实现下面就是分页显示JavaBean的代码。(具体内容请参照书。)
  • 28. 6.6.3 分页操作JavaBean调用方法解析分页显示的原理其实非常简单,即根据当前记录位置和每页要显示的条数,在结果集中取出对应的子集,同时在计算出页码等相关参数即可。具体在JSP中分页显示的处理可以参考下面的代码,这里是在前面章节中数据库查询页面的基础上添加上分页显示的功能。(具体内容请参照书。)
  • 29. 6.7 小结JavaBean就是把一些属性和方法封装起来的Java类,它遵循一定的编码规则,把可以重复利用的功能代码封装起来在其他地方或者是提供给其他开发人员调用,同时利用JavaBean还可以简化JSP的页面逻辑,降低了JSP程序维护修改的难度。