首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求改错,该怎么处理

2013-01-17 
求改错import java.io.*import java.net.*import java.sql.*class ser1 implements Runnable{ServerSoc

求改错
import java.io.*;
import java.net.*;
import java.sql.*;
class ser1 implements Runnable{
ServerSocket ss;
    Socket sc;
    DataInputStream in=null;
    DataOutputStream out=null;
    InputStream in_data;
    OutputStream out_data;
    String str;
    public ser1() {
    try{
     ss=new ServerSocket(1234);
     while(true){
sc=ss.accept();
Thread m=new Thread(this);
m.start();
}
    }
    catch(IOException ee){
     System.out.println("错误");
    }
    }
public void run() {
try{
while(true){
in_data=sc.getInputStream();
out_data=sc.getOutputStream();
in=new DataInputStream(in_data);
out=new DataOutputStream(out_data);

str=in.readUTF();
out.writeUTF(str);
if(str.equals("end")){
in.close();
out.close();
sc.close();
}

}
}
catch(IOException e){
System.out.println("输入输出流错误");
}

}

}
class ser2 implements Runnable{
ServerSocket ss;
    Socket sc;
    DataInputStream in=null;
    DataOutputStream out=null;
    InputStream in_data;
    OutputStream out_data;
    String str;
    String driver="sun.jdbc.odbc.JdbcOdbcDriver";             
static String db="D:\\Java\\JavaWork\\NWIND.MDB"; 
String url1="jdbc:odbc:NWIND";
Connection conn=null;
Statement stmt=null;
    PreparedStatement ps=null;
ResultSet rs=null;
String user="";
    String pwd="";
    String a="select * from 学生  where 姓名=";
    String s1;
    String s2;
    
    public void connect()throws SQLException { 
  try {
  Class.forName(driver);
      conn = DriverManager.getConnection(url1,user,pwd);
      stmt = conn.createStatement();
      rs=stmt.executeQuery(a+str);
      while (rs.next()){
      s1=rs.getString(1);
      s2=rs.getString(2);
      }
  }catch (Exception e){
   System.out.println(e);
  }finally{
   stmt.close();
   conn.close();
  } 
 }
 

    public ser2() {
    try{
     ss=new ServerSocket(1234);
     while(true){
sc=ss.accept();
Thread m=new Thread(this);
m.start();
}
    }
    catch(IOException ee){
     System.out.println("错误");
    }
    }


public void run() {
try{
while(true){
in_data=sc.getInputStream();
out_data=sc.getOutputStream();
in=new DataInputStream(in_data);
out=new DataOutputStream(out_data);
str=in.readUTF();
String[] ary = str.split(" ");
while(str.equals("end"))



if(ary[0].equals(s1)){
if(ary[2].equals(s2)){
new ser1();
out.writeUTF("密码正确");
break;

}
else if(ary[2]!=s2){
out.writeUTF("密码错误");
    
}
}

in.close();
out.close();
sc.close();


}
}
catch(IOException e){
System.out.println("输入输出流错误");
}

}


 
}
class ser{
public static void main(String[] args){

new ser2();
}
}


结果是:
错误

[解决办法]
把详细错误输出出来看看:
catch(IOException ee){
   ee.printStackTrace(); // 增加这句话
     System.out.println("错误");
}

估计很可能是端口已经被用过了。
[解决办法]
catch(IOException ee){
     System.out.println("错误");
    }
这里最好还是改成
e.printStackTrace();比较合适。
另外:java.lang.NullPointerException
空指针异常
很明显啊,你有一个对象未实例化或者忘了给某个变量赋值了。
[解决办法]
类似的问题,在Test3里也存在。也要给in,out赋值。

热点排行