建立JavaBean处理方式
当系统规模不大时,Servlet完全可以解决所有的处理问题。但是随着系统功能逐渐加强,规模逐渐扩大时,把所有处理都交给Servlet去做,势必会造成这部分结构“臃肿”,逻辑复杂,更不利于系统维护和扩展。这时,就要借助另外一种机制—JavaBean完成逻辑业务的处理,即让它承担一部分工作,诸如完成具体的事务处理、数据访问、数据库操作等,而把分配工作的任务交给Servlet去做,实现控制器的角色。这样可以很好地实现控制逻辑和业务逻辑的分离,使系统具有更好的健壮性和灵活性。
一、关于JavaBean
⒈JavaBean的特点
JavaBean是编程中一组被视为可重用组件的Java类。在项目开发中,由于很多功能类似的程序模块是重复出现的,为了避免程序的重复编写,开发人员采用了组件技术解决这个问题,即依照“一次开发、重复使用”的原则开发软件单元或模块,表现出形式上离散但功能上可重用。
按照组件技术的开发原则,JavaBean具有重复使用、易于替换和升级、加快开发速度和缩短软件开发周期的特点。
⒉JavaBean的分类
从设计角度出发,要考虑JavaBean所具有一些特质:它是为数据的存取而设计?还是为数据的处理而设计?这个概念类似于EJB中实体Bean和会话Bean的概念。设计时考虑下面两种情况:
u 仅对数据的值进行操作时,如存储与取出,其定义严格遵循JavaBean的命名规范。这种Bean的功能就是封装表单数据,作为信息的容器使用。
u 另一种Bean是要解决一些逻辑事务,如连接数据库、数据计算、数据检索、数据查询等等,它体现出了行为特性。
⒊JavaBean设计案例
下面这个Bean突出了对数据的存取特性。其中的每一个private类型的属性分别通过getXXX()和setXXX()方法获取或设置属性值。
下面这个Bean根据参数计算等差数列前n项的和,它针对功能做了相应的逻辑处理,并且可以把处理结果传递出去。这样的设计封装了特定的事务处理,可以被拿来直接使用,符合Bean组件的特点。
二、利用Servlet+JavaBean技术实现用户登录功能
操作任务:编写JavaBean验证用户的合法性,只在Servlet中发出命令,决定由哪个JavaBean来判断即可,它只需要从指定的Bean中获取验证结果,再继续调用相应页面显示结果。
Step1: 创建一个User.java类,根据Bean的约定,用它来描述属性操作。
Step 2: 再建立一个Bean(UserHandle.java),用来做逻辑处理。
Step3: 根据功能的调整,Servlet的程序也要做修改,使得控制逻辑能够协调资源,以便实现设计目的。
Step4: 工程部署,完成测试
JavaBean的本质是Java程序,仍然要先编译成字节码文件,Servlet容器才能够执行。这个任务是系统构建时自动完成的,只需要明确部署的位置。下图是针对JavaBean展开的目录结构,可以看到系统构建和工程部署所做的工作。