打印本文 打印本文 关闭窗口 关闭窗口
Linux 网络服务器构架实务之七
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2450  更新时间:2009/4/22 20:46:07  文章录入:mintao  责任编辑:mintao

/*------------------------------------------------------------------------
写在前面:
我看到很多网友的提问都跟服务器配置有关,搭建一个可靠而又安全的应用开发服务器是WEB编程的基础,尤其对于在LINUX上进行JSP开发的朋友而言。

这篇文档是我多年服务器配置的结晶,发表前已历经本人N此修改(最后一次大的修改是在RH7.2刚刚发布之即,而后一来由于忙于开发二来由于没有发现错误,所以没有升级),文档

于2001年底被天极网转载(http://www.yesky.com/20020206/217592.shtml),后经linuxbye.net,cnjsp.com等多个linux和JAVA社区转载,历经时间考验,至今未曾发现错误,各位尽可

放心使用。

文档在web页面的显示效果不够理想,如果您希望得到本文档的PDF,或有任何意见建议,可邮件至roczhao@msn.com

文档较长,分为多篇发布,这是第七篇,以下为正文:
-----------------------------------------------------------------------*/

 

 

例三:使用处理层连接数据库

##本例告诉你如何使用组件

##其实你完全可以写一个bean来处理数据库,而不用象例二那么罗索。只用四条语句就可以取出数据库中的所有数据并显示出来,这样做实现了处理层和逻辑层的彻底分离,由逻辑层发出指令、由处理层去响应相关处理,记录集也不会返回到逻辑层的jsp页面,而由处理层的bean处理,使得代码非常精简,效率也更高。至于如何书写组件不是本文档的重点,下面仅给出一个组件的例子并说明逻辑层的调用方法,你会发现其实逻辑层是个官僚,处理层是下属,呵呵。

 

1 创建处理层组件

下面的组件是我为公司写的数据库处理组件的简化版本,考虑到篇幅和可读性等问题,这里我简化了它的功能(象数据分页、批量更新、获取字段数和字段名称,用set和get提高其扩展性、对其他连库方法的支持等都没有出现在下面的代码中),使之包含所有常用的功能并使之更加清晰和易于理解;其二,我将连库动作加到了构造函数中,这是个优点也是个缺点,优点是简化了连库动作,缺点是降低了通用性,我没有添加设置数据源等方法,从而每当变换一次数据库就需要改写组件中的连接池名称,这在做一个固定项目的时候是可以的,如果你需要set数据源,可以自行添加;

##使用组件的方法:

我这里说的是使用bean的通用方法,你建立自己的bean目录可以仿照该例子。在你的站点根目录下建立resin.conf中指定的存放bean的目录,我上面的举例是classes,那你就建立classes目录,那么classes就是你站点的class根目录。然后在下面依次建立com\gledecity\yesgo\sql,注意它们之间是父子关系,不是同级文件夹,然后将下面即将建立的DBBridge.java放到”站点根目录\classes\com\gledecity\yesgo\sql”目录下,然后将该文件上传到服务器端即可。上面的步骤在微软平台上使用UltraDev之类的开发工具即可完成,当然手工也可以。

 

源文件如下:

 

//------------------------------------------------------------------------------

// File: DBBridge.java

// Copyright (c) 2001-2002 Mr.Fengjun Zhao.  All Rights Reserved.

// Author: 赵凤君@06/18/01

// Last Revision: 赵凤君@01/18/2002

// Description: 数据库接口类。一个统一的数据库接口,实现了逻辑层和数据层的彻底分离,封装了常用的数据库操作。主要功能是:连接数据库、执行SQL语句、数据库取值操作、数据分页、清除数据、关闭数据库等。

// Version:简化版1.0

//------------------------------------------------------------------------------

 

//指定包目录

  package com.gledecity.yesgo.sql;

 

//导入包

  import java.sql.* ;

  import com.caucho.sql.*;

 

  public class DBBridge {

//声明属性

    private DBPool  pool ;

    private Connection  conn ;

    private ResultSet  rs ;

    private Statement  stmt ;

 

 

// -------------------------------------- 构造函数---------------------------------

    public DBBridge() {

      pool=null ;

      conn=null ;

      rs=null ;

      stmt=null ;

      try{open();}

         catch(java.sql.SQLException ex){ex.toString();}

 

[1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口