【关键字】web.xml
【作者】lyilei
【日期】2004-5-18
项目开始的时候,由于自己的水平和能力的问题以及刚刚从asp转到jsp,项目中的许多问题都没有处理好。其中最严重的一个问题就是访问数据库的参数配置问题。
由于项目的完成有时间的限制,一开始的数据库连接字符串是通过写固定字符串来解决的,也就是硬编码。情况大致是:写一个javaBean来封装数据库的操作,然后在这个bean对象中写下访问数据库的硬编码字符串,然后其他的部分利用该Bean来访问数据库。
代码大致如下:
------------------------------------------------------
String strClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String strConnUrl = "jdbc:microsoft:sqlserver://192.168.2.203:1433;DatabaseName=herovod30";
String strUserName = "sa";
String strUserPass = "manager";
Class.forName(strClassName);
conn = DriverManager.getConnection(strConnUrl,strUserName,strUserPass);
后来,项目基本上完成时,由于我们的项目比较特殊需要封装成产品,因此存在一个安装程序的问题。这样硬编码比较要改变,同样本着改变最少的原则,这里项目负责人选择了使用配置文件来解决数据库参数配置的方法。将数据库的各种配置信息放置到文本配置文件ini中,然后访问系统的时候从配置文件中读取配置信息。这种方法看似是一种比较好的方法,但是如果不给类传递目前所在的路径信息,系统无法从虚拟目录中得到该配置文件,并从其中得到文件的信息。
最近,通过查看别人写的资料和有关jsp的书籍,发现了web.xml发布描述器是一个绝好的放置这些配置信息的地方。因为它和每一个虚拟目录相对应,服务器加载各个虚拟路径信息时,自动加载了该配置文件中的信息。这样就可以通过它来达到访问数据库的目的。下面时具体的实现过程。
【实现思路】
利用一个bean对象init来读取有关数据库配置参数的信息,读取完成之后将这些值放置到全局信息中,方便其他地方的引用。利用数据库访问dbConn对象来打开和关闭数据库的连接,它是一个基类。所有需要处理数据库数据的类从dbConn中派生,然后可以在其中任意的处理数据。
【实现过程】
1.web.xml文件内容的设置:
web.xml
-------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"