jboss 配置连接池?
<%
java.sql.Connection con=null;
DataSource ds = null;
try{
Context ctx = new InitialContext();
String jndi_name="java:/OracleDS";
ds = (DataSource)ctx.lookup(jndi_name);
con=ds.getConnection();
Statement statement=con.createStatement();
ResultSet rs=statement.executeQuery("select * from student");
while (rs.next())
{
out.println(rs.getString("name")+"<br>");
}
con.close();
}
catch(Exception e)
{
System.err.println("erro conn!!");
}
%>
在配置了连接池后,在上面的jsp调用中没问题,
但是我把连接封装在java类后,在jsp中调用这个类,可是无法取得与数据库的连接
代码如下:
public class DBConnection {
private static Connection conn = null;
private static DataSource ds = null;
public Connection getconnection()
throws ClassNotFoundException, SQLException {
try{
Context ctx = new InitialContext();
String jndi_name="java:/OracleDS";
ds = (DataSource)ctx.lookup(jndi_name);
conn=((Statement)ds).getConnection();
System.out.println(conn.toString());
}catch(Exception e)
{
e.printStackTrace();
}
return conn;
}
}
jsp代码:
%
java.sql.Connection con=null;
DataSource ds = null;
try{
DBConnection db=new DBConnection();
con=db.getconnection();
Statement statement=con.createStatement();
ResultSet rs=statement.executeQuery("select * from student");
while (rs.next())
{
out.println(rs.getString("name")+"<br>");
}
con.close();
}
catch(Exception e)
{
System.err.println("erro conn!!");
}
%>
不知为何?
问题点数:20、回复次数:4Top
1 楼songjinpin(浪子)回复于 2005-01-20 14:08:39 得分 5
conn=((Statement)ds).getConnection();
此句改为conn=((Connection)ds).getConnection();应该没问题
Top
2 楼yeyu710(叶雨)回复于 2005-01-20 15:12:44 得分 5
public void connect()throws NamingException,SQLException{
try{
InitialContext ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:/OracleDs");
conn=ds.getConnection();
}catch(NamingException e){
error="NamingException:DataSource naming is error!!";
throw new NamingException(e+" "+error);
}catch(SQLException e){
error="SQLException:connecting is failure!";
throw new SQLException(e+" "+error);
}
}
我这样子写就行啊,我想可能是:conn=((Statement)ds).getConnection();
有问题吧,但怎么样改我也不知道了!!Top
3 楼lanse89(风)回复于 2005-01-20 16:23:46 得分 10
conn=((Statement)ds).getConnection();
为什么不像JSP里一样: conn=ds.getConnection();啊?不明白你为什么要做这个类型转换。Top
4 楼fun1981(不死鸟)回复于 2005-01-20 17:04:47 得分 0
谢谢各位
问题解决了
是因为的包不对
Top




