J2EE 之JavaBean and JDBC技术

JavaBean技术

一、什么是javabean

JavaBean就是一个可重复使用的,基于Java的软件组件,可以在软件开发工具中被直观地操作. JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称Bean

二、javabean的特点

JavaBean是基于Java语言的,具有以下特点:

1)可以实现代码的重复利用,因此可以缩短开发时间。

2)易编写,易维护、易使用。

3)可以在任何安装了Java运行环境的平台上使用,而不需要重新编译,为JSP的应用带来了更多的可扩展性。

三、创建JavaBean必须满足条件

1. Javabean作为一个特殊的类,需满足以下规范

2. 是一个public类,可供其他类实例化

3. 如果有构造方法,则这个构造方法必须是没有参数的构造方法

4. 所有的属性最好定义为私有的

5. 定义public的方法setxxx()getXXX()来对属性进行操作

四、创建javabean

创建一个标准JavaBean的基本语法如下。

1)定义包名称

2)定义JavaBean

JavaBean类定义的语法结构如下:

   public class 类名称

   {

   //类成员的定义

   //类方法的定义。

   //类属性的定义。

   }

其中需要强调的是,类名称与保存的文件名称必须一致,否则就会出现编译错误。同时,类必须声明为公有类,即public

如:public class CarBean

   {

   private String maker;

   ……….

   }

(3) 定义JavaBean类的构造函数

JavaBeanJave类,JavaBean就有自己的构造函数,并且构造函数的名称必须与JavaBean类的名称一致。构造函数的主要作用是用来初始化,而且构造函数无参数输入,其语法结构如下:

   public JavaBean类名称

   {

   //初始化

   ……..

   }

例如:

   public CarBean

   {

   }

(4) 定义JavaBean属性

JavaBeanJave类,那么它不但有自己的构造函数,还有自己的属性。JavaBean属性的定义的语法结构如下:

private 数据类型 属性名称;

例如:private String  maker;

(5) 设定JavaBean属性值的方法

定义了JavaBean属性之后,还要对其属性值进行设定,其属性值设定的语法结构如下:

   public void set设定方法名称(数据类型  参数)

   {

      this.变量=参数;

   }

例如:

       public void setMaker(String maker)

   { this.maker="Benz";

   }

值得注意的是:JavaBean属性值的设定方法名称一般以set三个字母开头,后面跟上属性设定方法名称

(6) 读取JavaBean属性值的方法

上面讲述了如何设定JavaBean属性值,那么属性值设定好之后,如何读取呢?JavaBean属性值读取的语法结构如下:

   public void get读取方法名称()

   {

   return this.变量;

   }

例如:

   public void getMaker()

   {

   return this.maker;

   }

 例如:下面定义一个Login用户登录的JavaBean(具有id,name,pass三个属性),则创建Login的javabean的步骤如下。

// 1、打开eclipse,并在java2e项目中的的java Resources\src目录中创建一个数据包bean,如下图所示。

 

// 2、右击刚创建好的数据包“bean”在弹出如下菜单。

 

// 3、单击“new->class”命令,弹出创建新类的对话框,如下图所示。

 

// 4、在对话框中输入类的名称Login,然后单击"Finish"结束。在bean数据包中会看到Login.java类如下图所示 。

 

5、我们在右边的代码工作区中输入如下代码。

    package bean;

    public class Login {

     private int id;//定义类的成员

     private String name;

     private String pass;

    

     public Login(){}//定义类的构造方法

     public Login(int id,String name,String pass){

     this.id=id;

     this.name=name;

     this.pass=pass;

     }

    

     public int getId() {//定义类的属性

     return id;

     }

     public void setId(int id) {

     this.id = id;

     }

     public String getName() {

     return name;

     }

     public void setName(String name) {

     this.name = name;

     }

     public String getPass() {

     return pass;

     }

     public void setPass(String pass) {

     this.pass = pass;

     }

    }

 

五、 JSP中使用javabean

1.在JSP中使用JavaBean

通过page指令导入

<%@ page import= javabean

2Bean标签

1<jsp:useBean>

<jsp:useBean id="实例化对象名称" scope="保存范围" class=".类名称" />

如我们要使用Login的JavaBean,则所写的代码如下。

<jsp:useBean id="login" scope="page" class="bean.Login"></jsp:useBean>

2<jsp:setProperty>

设置属性:<jsp:setProperty>

                             

 

NO.

 

 

类型

 

 

语法格式

 

 

1

 

 

自动匹配

 

 

<jsp:setProperty name="实例化对象的名称(id"  property="*" />

 

 

2

 

 

指定属性

 

 

<jsp:setProperty name="实例化对象的名称(id"  property="属性名称" />

 

 

3

 

 

指定参数

 

 

<jsp:setProperty name="实例化对象的名称(id"  property="属性名称" param="参数名称" />

 

 

4

 

 

指定内容

 

 

<jsp:setProperty name="实例化对象的名称(id"  property="属性名称"  value="内容" />

 

 

3<jsp:getProperty>

取得属性:<jsp:getProperty>

<jsp:getProperty name="实例化对象名称(id)" property="属性名称" />

JavaBean的保存范围:

page:保存在一页的范围中,跳转后此JavaBean无效。

request:一个JavaBean对象可以保存在一次服务器跳转的范围中。

session:在一个用户的操作范围中保存,重新打开浏览器时才会声明新的JavaBean

application:在整个服务器上保存,服务器关闭时才会消失。

JavaBean的删除:

删除page范围的JavaBean可以使用pageContext.removeAttribute(JavaBean名称)

删除request范围的JavaBean可以使用request.removeAttribute(JavaBean 名称)

删除session范围的JavaBean可以使用session.removeAttribute(JavaBean 名称)

  删除application范围的JavaBean可以使用application.removeAttribute(JavaBean名称)

    例如:在jsp中使用上面所定的Login.java的JavaBean,代码如下。

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<jsp:useBean id="loginbean" class="bean.Login"></jsp:useBean>

<jsp:setProperty property="id" name="loginbean" value="1"/>

<jsp:setProperty property="name" name="loginbean" value="lisi"/>

<jsp:setProperty property="pass" name="loginbean" value="lisi"/>

用户的编号是:<jsp:getProperty property="id" name="loginbean"/></br>

用户的名是:<jsp:getProperty property="name" name="loginbean"/></br>

用户的密码是:<jsp:getProperty property="pass" name="loginbean"/></br>

</body>

</html>

其中<jsp:useBean id="loginbean" class="bean.Login"></jsp:useBean>是对bean.Login时行实例化,对象名就命令中id的值loginbean;这个对象名在<jsp:setProperty><jsp:getProperty>命令中的name属性中引用如上代码所示。即在<jsp:setProperty property="id" name="loginbean" value="1"/>或<jsp:getProperty property="id" name="loginbean"/>中的name属性的值必须是<jsp:useBean id="loginbean" class="bean.Login">中的id属性值一样。

 

 

 

JDBC技术

JDBC基础

1.JDBC介绍

JDBC是java访问[对象型数据库/关系型数据库]数据库的规则,是原SUN公司开发的.

原来我们程序员需要针对具体的数据库操作,费时费力; 

自从有了JDBC规则后,程序员只需要针对JDBC规则编程,不用管底层具体数据库的实现, 

好处在于:写一份JDBC代码,可以在很多数据库在执行,即可移植性

2.驱动的原理及使用

就是JDBC规则,在具体数据库中的实现类,且用java书写(需要安装JDK)

3.JDBC核心使用

做jdbc代码,需要用到如下几个固定步骤,以查询为例:

(1). 加载mysql数据库服务器的驱动,DriverManager

(2). 获取mysql数据库服务器的连接,Connection

(3). 获取封装sql语句的对象,Statement

(4). 执行sql语句,并返回结果集合,ResultSet

(5). 迭代这个结果集合,while(){}

(6). 按轻到重的原则关闭连接对象,ResultSet-Statement-Connection,在必要情况下,Connection可重用

如下代码用于对login数据表进行查询操作:

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

   <%@ page import="java.sql.*" %> <!-- 引入数据包-->

   <%@ page import="java.util.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%! //

private static final String DBDRIVER = "org.gjt.mm.mysql.Driver";// 采用mysql-connector-java-5.1.12-bin.jar作为连接mysql数据库时,使用的数据库驱动类。

// 连接数据库地址,其中localhost是我们在本机上安装的mysql数据库管理系统,stsc是在myssql数据库系统中创建的数据库名,若使用较低版时,使用“jdbc:mysql://localhost:3306/zy”

private static final String DBURL = "jdbc:mysql://localhost:3306/stsc";// 采用mysql-connector-java-5.1.12-bin.jar作为连接mysql数据库时,使用的数据库地址。

// 连接数据库管理员,是mysql数据库的系统管理员root

private static final String DBUSER = "root";

// 连接数据库管理员登录密码,是在安装mysql数据库时,给定的密码

private static final String DBPASS = "admin";

// 创建数据库连接对象conn

private static Connection conn = null;

%>

<%

try {

// 加载mysql数据库的驱动程,

Class.forName(DBDRIVER);

// 获取数据库连接对象

conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);

//定义sql命令,用于从login数据表中记录,

String sql="select id,name,pass from login";

//创建执行sql命令的对象

PreparedStatement psta=conn.prepareStatement(sql);

ResultSet rs=psta.executeQuery();

if(rs !=null){

%>

<table width=100 border=1>

<%while(rs.next()){ %>

<tr>

<td><%=rs.getInt(1) %></td>

<td><%=rs.getString(2) %></td>

<td><%=rs.getString(3) %></td>

</tr>

<%}%>

</table>

<%

}

//关闭数据集对象

                        rs.close();

                        //关闭执行sql命令的对象

                        psta.close();

                        // 关闭数据库连接对象

                        conn.close();

} catch (Exception e) {

e.printStackTrace();

}

%>

 

</body>

</html>

4.DriverManager(类)、Connection(接口)、Statement(接口)、ResultSet(接口)详细使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章