JSP访问数据库与JavaBean

1.JSP访问数据库 

我们之前讲过,可以在JSP中通过来编写JAVA代码。也就是说,JAVA代码能实现的功能,也就可以借助在JSP中实现。我们接下来,就在JSP中实现一个“用户注册”的功能。该功能写在WebContent下的jspJDBC目录中。

注册页jspJDBC/register.jsp

实现用户名(uname)和密码(upwd)的表单录入,代码及运行图省略。

将注册信息写入数据库的功能页jspJDBC/registerJDBC.jsp,代码如下,

运行以上代码,就能实现用户注册功能,并将注册信息写入数据库。

需要注意,必须在page指令里导入Connection、PreparedStatement等的包名,如%@page import="java.sql.Connection"%;并将数据库的驱动包加入Web工程,导入方法如下:将数据库驱动包(ojdbc6.jar)直接复制在WEB-INF下的lib文件夹中即可,如图所示。

图项目结构

不难发现,上面registerJDBC.jsp中的代码既包含了业务逻辑、数据库操作,还负责了显示功能,导致JSP文件非常混乱、复杂,给后期的维护和修改上,带来了非常大的困难。因此,我们需要将JSP中的JAVA代码按功能进行划分,将每个功能分别封装成一个类;最后直接将需要的JAVA类导入到JSP中,组装成最终的JAVA代码即可。这里所提到的“类”,就是指我们即将要学习的JavaBean。

2.JavaBean

Java Bean是一种JAVA语言写成的可重用组件,从而使开发者在IDE工具中可以很方便的使用该组件。在开发过程中,如果能发现一些已存在的Java Bean组件,我们就可以直接使用该Java Bean组件进行开发,从而避免从零开始编写所有代码,提高开发效率。对于Java开发人员来说,不仅要会使用Java API,还要掌握Java Bean这种组件的使用。

Java Bean组件实际上就是一个遵循以下规范的Java类:

1必须是public修饰的公有类,并提供public修饰的无参构造方法;

2 Java Bean中的属性,必须都是private类型的私有属性,并且有相应public修饰的gettter、setter方法。特殊情况:如果属性是boolean类型,那么取值的方法既可以是getter、也可以是isXxx()。例如,以下两个方法都可以作为属性private boolean sex;的取值方法:

凡是满足以上两点的JAVA类,我们都可以称之为Java Bean组件。

在程序中,开发人员需要处理的无非是数据和业务逻辑,而这两种操作都可以封装成Java Bean组件。因此,Java Bean从功能上可以划分为以下两类:

封装数据封装业务逻辑。

2.1使用Java Bean封装数据

通常情况,一个封装数据的JavaBean(也可以称为“实体类”),对应着数据库内的一张表(或视图),并且与该表(或视图)中的字段一一对应。

例如,在registerJDBC.jsp中,涉及一张登录表(login),该表中有两个字段:用户名(name)和密码(password)。下面,创建一个与该登录表相对应的封装数据的JavaBean(用于封装用户名、密码):

在项目的src下新建一个LoginInfo类,如图所示。

图项目结构

代码如下:

封装数据的Java Bean创建好了以后,就可以在其他Java类或JSP页面中直接使用。如下是在JSP页面中使用封装数据的Java Bean:

可以发现,封装数据的Java Bean可以将许多零散的数据封装到一个对象之中。例如,可以将name、Password等属性数据封装到一个login对象之中。这样做非常利于数据在项目中的传递。

2.2使用Java Bean封装业务

一个封装数据的JavaBean,对应着数据库内的一张表(或视图);而一个封装业务的JavaBean,通常用来对封装数据的JavaBean进行控制操作,或相关的业务逻辑操作。例如,下面就来创建一个封装业务的JavaBean(LoginControl.java),用来对之前封装数据的JavaBean(LoginInfo.java)进行控制操作:

LoginControl.java

接下来,我们再编写注册功能时,就可以通过JavaBean来简化JSP页面:

注册页jspJDBC/registerWithJavaBean.jsp

实现用户名(uname)和密码(upwd)的表单录入,代码及运行图省略(页面中)。

将注册信息写入数据库的功能页jspJDBC/registerJDBCWithJavaBean.jsp

上面registerJDBCWithJavaBean.jsp中的代码,可以实现与registerJDBC.jsp相同的功能。不难发现,使用了JavaBean之后,可以大大简化JSP页面的代码量,并且能将某个特定的模型(数据模型或业务模型)封装到一个JAVA类中,从而提高代码的重用性。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180222G08U3900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券