- 论坛徽章:
- 0
|
最近在看关于jsp的东西,在用jsp连接pgsql的时候遇到了点麻烦,现在总结如下,希望给以后用到的朋友提供点帮助。
环境为:Windows2003+Tomcat 6.0+PostgreSQL8.3
总的来说有两种方式,一个是直接连接,另一个是用数据池。前一种容易配些,但效率不如后者。无论那种连接必须要把JDBC驱动拷到TOMCAT的LIB目录下.开始之前先建一个待连接的数据库,就简单点吧。
代码如下:
1.create database test;
2.create table test(nmae varchar(10),address varchar(30));
3.insert into test values('xisxy','qindao China');
一、直接连接:
test1.jsp文件内容如下:
Test Db
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select name,address from test";
ResultSet rs=stmt.executeQuery(sql);
// **** 数据库连接代码 结束 *********
if(rs!=null){
rs.next();
out.print(rs.getString(1)+" live in ");
out.print(rs.getString(2));
}
else{
out.print("Table is empty!");
}
%>
运行成功的话,看到运行结果为:xisxy live in qingdao China
二、数据池连接
1.配置tomcat数据池,这一步比较关键的是ResourceLink >引用已定义的data resource资源。我前几次没成功就是错在这个地方。
a.
定义data resource资源,可以定义全局的,也可以定义某应用程序专用的,咱们这里定义一个全局的。
在tomcat安装目录下,有个conf文件夹,找到并打开server.xml,在标签前加入
b.
找到并打开web.xml,在前加入代码:
DB Connection
jdbc/postgres
javax.sql.DataSource
Container
c.
找到并打开content.xml,在前加入代码:
注:更改TOMCAT的配置文件后,要重启下服务才能生效.
2.
test2.jsp内容如下:
Test Db
// ***************** 数据库连接代码 开始 *****************
DataSource ds = null;
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/pgsql");//*****这里pgsql为定义的名字*****
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String sql = "select name,address from test;
ResultSet rs=stmt.excuteQuery(sql);
// **** 数据库连接代码 结束 *********
if(rs!=null){
rs.next();
out.print(rs.getString(1)+" live in ");
out.print(rs.getString(2));
}
else{
out.print("Table is empty!");
}
%>
运行成功的话,看到运行结果为:xisxy live in qingdao China
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/23047/showart_489078.html |
|