📄 serverthread.java
字号:
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.Vector;
class ServerThread extends Thread
{
private Socket socket;
private BufferedReader in;
private PrintWriter out;
int no;
public ServerThread(Socket s)throws IOException
{
socket=s;
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream())),true);
start();
}
public void run()
{
try
{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
Connection aConnection=DriverManager.getConnection("jdbc:odbc:fwgQQ","","");
Statement aStatement=aConnection.createStatement();
while(true)
{
String str=in.readLine();
if(str.equals("end"))
{
socket.close();
break;
}
else if(str.equals("login"))
{
try
{
String aqqno=in.readLine();
String aqqpassword=in.readLine();
String sql1="select password,nickname,status,ip from qq where qqno='"
+aqqno+"'";
ResultSet rs=aStatement.executeQuery(sql1);
boolean gotIt=rs.next();
if(gotIt)
{
String yourstatus="在线";
String yourip=socket.getInetAddress().getHostAddress();
String qqpwd=rs.getString("password").trim();
String qqnickname=rs.getString("nickname");
String sql10="Update qq set status='"+yourstatus+"',ip='"+yourip+"' where qqno='"+aqqno+"'";
if(aqqpassword.equals(qqpwd))
{
out.println("ok");
out.println(qqnickname);
int result=aStatement.executeUpdate(sql10);
}
else
{
out.println("pwd_flase");
rs.close();
aConnection.close();
}
}
else
{
out.println("no_flase");
rs.close();
aConnection.close();
}
}
catch(SQLException ee)
{
System.out.println("数据库连接有错1");
}
socket.close();
}
else if(str.equals("new"))
{
try
{
String aqqno=in.readLine();
String apassword=in.readLine();
String anickname=in.readLine();
String aemail=in.readLine();
String aplace=in.readLine();
String asex=in.readLine();
String apic=in.readLine();
String ainfo=in.readLine();
String sql2="select * from qq where qqno='"+aqqno+"'";
String sql3="insert into qq(qqno,password,nickname,pic,sex,email,place,status,ip,info) "
+"values('"+aqqno+"','"+apassword+"','"+anickname+"','"+apic+"','"+asex+"','"+aemail+"','"+
aplace+"','离线','未知','"+ainfo+"')";
ResultSet rs=aStatement.executeQuery(sql2);
boolean gotIt=rs.next();
if(gotIt)
{ out.println("have_existed_false"); rs.close();aConnection.close();}
else
{
int result=0;
result=aStatement.executeUpdate(sql3);
if(result==1)
out.println("new_succeed");
else
out.println("new_false");
rs.close();
aConnection.close();
}
}
catch(SQLException e)
{ System.out.println("数据库连接有错2"); }
socket.close();
}
else if(str.equals("find"))
{
try
{
String aqqno=in.readLine().trim();
String anickname=in.readLine().trim();
if(anickname.equals("")&&(!aqqno.equals("")))
{
String sql4="select * from qq where qqno='"+aqqno+"'";
ResultSet rs=aStatement.executeQuery(sql4);
boolean gotIt=rs.next();
if(gotIt)
{
out.println("have_found");
out.println(rs.getString(1));
out.println(rs.getString(2));
out.println(rs.getString(3));
out.println(rs.getString(4));
out.println(rs.getString(5));
out.println(rs.getString(6));
out.println(rs.getString(7));
out.println(rs.getString(8));
out.println(rs.getString(9));
out.println(rs.getString(10));
out.println("over");
}
else
{
out.println("not_found");
}
}
else if(aqqno.equals("")&&(!anickname.equals("")))
{
String sql9="select * from qq where nickname='"+anickname+"'";
ResultSet rs=aStatement.executeQuery(sql9);
boolean gotIt=rs.next();
if(gotIt)
out.println("have_found");
else
out.println("not_found");
do
{
out.println(rs.getString(1));
out.println(rs.getString(2));
out.println(rs.getString(3));
out.println(rs.getString(4));
out.println(rs.getString(5));
out.println(rs.getString(6));
out.println(rs.getString(7));
out.println(rs.getString(8));
out.println(rs.getString(9));
out.println(rs.getString(10));
gotIt=rs.next();
}while(gotIt) ;
out.println("over");
// rs.close();
// aConnection.close();
}
else if(aqqno.equals("")&&anickname.equals(""))
{
out.println("noinfo");
}
else
{
String sql10="select * from qq where qqno='"+aqqno+"' and nickname='"+anickname+"'";
ResultSet rs=aStatement.executeQuery(sql10);
boolean gotIt=rs.next();
if(gotIt)
{
out.println("have_found");
out.println(rs.getString(1));
out.println(rs.getString(2));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -