猿问

JSP用JDBC读取oracle数据怎么全是null

被这问题缠死了,来个高手帮帮忙!

编写了一个JAVA类,类中有一个连接数据库的方法叫int [] condb(),能成功连接数据库,System.out.println()可以正确输出我查找的部门编号,这些部门编号我用一个整型数组来接收,在类中也是可以通过循环遍历正常输出,但是在Index.jsp中,我导入了这个类,部门编号却全显示0,请问题在哪里?

下面是JAVA类中的代码

package DBConnecter;


import java.io.BufferedReader;

import java.io.FileReader;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;


public class Connecter {

public int[] condb(){

String s[]=new String [4];int no[]=new int[4];

try {

// Context ctx=new InitialContext();

// DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/oracle");

// Connection conn=ds.getConnection();

BufferedReader br=new BufferedReader(new FileReader("dboracle.properties"));

for(int i=0;i<4&&(s[i]=br.readLine())!=null;i++){

int index=0;

index=s[i].indexOf("=")+1;

s[i]=s[i].substring(index).trim();

System.out.println("配置信息:"+s[i]);

}

Class.forName(s[0]);

Connection conn=DriverManager.getConnection(s[1],s[2],s[3]);

Statement st=conn.createStatement();

String sql="select * from dept";

ResultSet rs=st.executeQuery(sql);

for(int i=0;rs.next();i++){

no[i]=rs.getInt("deptno");

System.out.println("部门编号:"+no[i]);

}

rs.close();

st.close();

conn.close();

br.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return no;

}

public static void main(String[] args) {

int ss[]=new Connecter().condb();

}

}

下面是index.jsp中的部分代码,其他部分代码默认格式生成的,没有改动。

<%@page import="DBConnecter.Connecter"%>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

  <body>

部门编号:<%int[]no=new int[4];Connecter con=new Connecter();

no=con.condb();

for(int i=0;i<4;i++){out.println(no[i]);

}%>

  </body>

这是JAVA中运行的结果,能读出来的。

无比困惑中,请各位帮帮忙!


迷失代码林
浏览 1885回答 1
1回答
随时随地看视频慕课网APP
我要回答