📄 regserver.java
字号:
import java.sql.*;
import java.net.*;
import java.io.*;
//import UserData;
public class RegServer extends Thread
{
ServerSocket serverSocket;
Connection con;
//String dataSource;
public RegServer()
{
try
{
serverSocket=new ServerSocket(2880);
BufferedReader keyIn=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Server For User Register");
System.out.println("Please Entry Your DBMS...");
System.out.println("Enter Your UserName:");
String sUid=keyIn.readLine();
System.out.println("Enter Your Password:");
String sPw=keyIn.readLine();
System.out.println("Test Your Password,Please Wait...");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:toydata",sUid,sPw);
System.out.println(serverSocket.toString());
//fail(ex,"could not connect to DBMS");
System.out.println("Connected Successfully...");
System.out.println("Server Started...");
this.start();
}
catch(Exception e)
{
fail(e,"could not start server");
System.exit(1);
}
}
public static void fail(Exception e,String str)
{
System.err.println(str+"."+e);
}
public void run()
{
try
{
while(true)
{
Socket socket=serverSocket.accept();
new connect(socket);
}
}
catch(IOException e)
{
fail(e,"not Listening");
}
}
public static void main(String args[])
{
new RegServer();
}
class connect extends Thread
{
String sret;//return to client
Socket netClient;
// ObjectInputStream fromClient;
BufferedReader lnFromClient;
PrintStream toClient;
PreparedStatement statInsert;
String clientAddress;
public UserData data;
public connect(Socket client)
{
netClient=client;
try
{
//fromClient=new ObjectInputStream(netClient.getInputStream());
lnFromClient=new BufferedReader(new InputStreamReader(netClient.getInputStream()));
toClient=new PrintStream(netClient.getOutputStream());
//reading the ip address of client now
clientAddress=lnFromClient.readLine();
System.out.println(clientAddress+" connected");
data=new UserData();
//
}
catch(Exception e)
{
fail(e,"IO error");
}
this.start();
}
public void run()
{
try
{
while(true)
{
//data
//data=(UserData)fromClient.readObject();
/***************from client code
lnToServer.println(data.username);
lnToServer.println(data.password);
lnToServer.println(data.name);
lnToServer.println(data.age);
lnToServer.println(data.country);
lnToServer.println(data.state);
lnToServer.println(data.enjoy);
****************/
data.username=lnFromClient.readLine();
data.password=lnFromClient.readLine();
data.name=lnFromClient.readLine();
data.credit=lnFromClient.readLine();
data.sex=lnFromClient.readLine();
data.age=Integer.parseInt(lnFromClient.readLine());
data.country=lnFromClient.readLine();
data.state=lnFromClient.readLine();
data.enjoy=lnFromClient.readLine();
//test
System.out.println(data.username + data.password);
submit();
}
}
catch(Exception exp)
{
fail(exp,"I/O error:" );
}
finally
{
try
{
netClient.close();
System.out.println(clientAddress+" closed");
}
catch( IOException ioe)
{}
}
}
/************
vUserName varchar(15) pk
vPassword varchar(20)
vName varchar(15) ,
cCredit varchar(20),
cSex char(5),
iAge int,
vCountry varchar(20),
vState varchar(20),
vEnjoy varchar(20)
************/
public void submit()
{
try
{
String strSql=new String("insert into UserDetails values(?,?,?,?,?,?,?,?,?)");
statInsert=con.prepareStatement(strSql);
//test 2
//System.out.println("code here is right");
statInsert.setString(1,data.username);
statInsert.setString(2,data.password);
statInsert.setString(3,data.name);
statInsert.setString(4,data.credit);
statInsert.setString(5,data.sex);
statInsert.setInt(6,data.age);
statInsert.setString(7,data.country);
statInsert.setString(8,data.state);
statInsert.setString(9,data.enjoy);
//System.out.println("code here setString ok");
statInsert.executeUpdate();
//System.out.println("code here excuteupdate");
sret=new String("User Register Successful");
}
catch(Exception ep)
{
sret=new String("Cannot insert the data in the table"+ ep);
System.out.println(ep);
}
finally
{
toClient.println(sret);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -