被这问题缠死了,来个高手帮帮忙!
编写了一个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中运行的结果,能读出来的。
无比困惑中,请各位帮帮忙!