分享
 
 
 

WebLogic下JSP连接数据库

王朝java/jsp·作者佚名  2007-01-17
窄屏简体版  字體: |||超大  

WebLogic下JSP连接数据库

草木瓜 2006-5-26

一、前言

JSP开发,一般来说需要前端开发工具和后台服务。WebLogic是集成了工具和服务的大型系统。

需要重视的是,BEA公司的WebLogic最低要求配置内存512M,即使对服务器参数文件做优化,

仍然不能根本解决问题。

二、安装配置WebLogic

Windows安装没什么好说的。

安装后,WebLogic自动建了三个服务器(workshop,integration,portal),用户可以选择,不爽的

也可以自行创建,创建方面的内容《WebLogic Domain 配置方法》一文已有非常详尽的讲述。简单的

方法是从模板选所择,这里选择 工具->WebLogic Server->配置向导 的basic weblogic workshop

domain模板。

三、新建应用程序,添加Web项目,

域服务器创建好了,选择 文件->新建->应用程序,选择服务嚣,选择应用程序,完成创建。在所建

应用程序里添加Web项目。

四、Web应用

添加数据库Web应用。在Web项目里,添加Jsp文件和Java Class。本例使用index.jsp,error.jsp,

clsdb.java,db.properties四个文件。

目录结构如下:

应用程序名\Web项目名\WEB-INF\...

应用程序名\Web项目名\index.jsp

应用程序名\Web项目名\error.jsp

应用程序名\Web项目名\db.properties

应用程序名\Web项目名\javacls\clsdb.java

index.jsp 起始页面,数据浏览

--------------------------------------------------

<body>

<%

javacls.clsDb db=new javacls.clsDb();

boolean i;

i=db.openConnection();

if(i=true)

{

java.sql.ResultSet rs=db.exeQuery("select d from test");

rs.next();

while(!rs.isAfterLast())

{

out.println(rs.getObject(1));

rs.next();

}

}

%>

</body>

error.jsp 错误显示页面

--------------------------------------------------

<p>

发生错误

<br>

错误描述:

<%=exception.toString()%>

<br>

错误原因:

<%=exception.getMessage()%>

</p>

clsdb.java 数据库操作类,非常典型的数据库应用方法

--------------------------------------------------

package javabean;

public class clsDb

{

java.sql.Connection cn=null;

java.sql.Statement sqlstm=null;

java.sql.ResultSet rs=null;

public clsDb()

{}

//打开数据库连接

public boolean openConnection()

{

//读取设置

java.util.Properties prop=new java.util.Properties();

try

{

java.io.InputStream in=this.getClass().getResourceAsStream("../db.properties");

prop.load(in);

if(in!=null)in.close();

}

catch(java.io.IOException e)

{

System.out.println("[OpenCn] 配置文件打开错误! ");

return false;

}

String jdbc=prop.getProperty("drivers");

String url=prop.getProperty("url");

String user=prop.getProperty("user");

String password=prop.getProperty("password");

//加载JDBC

try

{

Class.forName(jdbc);

}

catch(java.lang.ClassNotFoundException e)

{

System.out.println("[OpenCn] 装载JDBC驱动出错! ");

return false;

}

//打开数据库连接

try

{

this.cn=java.sql.DriverManager.getConnection(url,user,password);

}

catch(Exception e)

{

e.printStackTrace();

return false;

}

return true;

}

//执行查询

public java.sql.ResultSet exeQuery(String _sqlstring)

{

try

{

this.sqlstm=this.cn.createStatement();

this.rs=this.sqlstm.executeQuery(_sqlstring);

return this.rs;

}

catch(Exception e)

{

e.printStackTrace();//此外用于打印错误堆栈

return null;

}

}

//执行更新

public void exeNonQuery(String _sqlstring) throws java.sql.SQLException

{

this.sqlstm=this.cn.createStatement();

this.sqlstm.executeUpdate(_sqlstring);

if(this.sqlstm!=null)this.sqlstm.close();

}

//关闭对象

public void close() throws java.sql.SQLException

{

if(this.rs!=null)this.rs.close();

if(this.sqlstm!=null)this.sqlstm.close();

if(this.cn!=null)this.cn.close();

}

protected void finalize() throws Throwable

{

this.close();

}

}

db.properties 数据库配置文件

--------------------------------------------------

drivers=oracle.jdbc.driver.OracleDriver

url=jdbc:oracle:thin:@localhost:1521:wincn

user=liwei

password=liwei

五、重要补充说明:本篇文章别的都是废话,惟独这段不是!

本例使用的jdbc驱动是oracle提供的,java只提供驱动的接口,具体必须由各数据库厂商来实现。如果

环境变量等没有配置正确,找不到包,可以在 应用程序名\Web项目名\库 下添加驱动包。

drivers=oracle.jdbc.driver.OracleDriver这个包的位置在E:\oracle\ora92\jdbc\lib\classes12.jar

查看包的信息就知道,写成oracle.jdbc.OracleDriver也是可以的。

url一项内容是数据库的具体对象,前面jdbc:oracle:thin表明是通过jdbc,而且是oracle提供的驱动包,

thin是oracle的连接方式。下面@后面是主机名或主机地址+端口,最后一项是数据库实例名SID。

注意:

在调试过程中WebLogic会提示找不到类oracle.jdbc.dirver.OracleDriver的文件,这个提示完全是误报,

是不是bug不得而知!不用理会继续执行!

在连接中文字符集(ZHS16GBK)数据库不会出现乱码,如果连接英文字符集(US7ASCII)则会出现。解决方法

是作些必要的转换。前提是客户端与服务嚣的字符集要一致。

index.jsp 文件内容更改

while(!rs.isAfterLast())

{

String test=rs.getString(1);

byte[] tempbyte=test.getBytes("ISO8859-1");

String temp=new String(tempbyte,"gb2312");

out.println(temp);

rs.next();

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有