⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multiserversocket.java

📁 虚拟社区的模拟应用(java课程设计): 建立一个虚拟社区
💻 JAVA
字号:
import java.io.*;import java.net.*;import java.sql.*;public class MultiServerSocket {	public static void main(String args[]) {		ServerSocket ss=null;		int sumClient=1;		try {			ss=new ServerSocket(3000);			System.out.println("Server on-line");		}		catch (Exception e) {			System.out.println("Cannot listen on port 3000");		}				try {			while(true) {				new ServerThread(ss.accept(),sumClient).start();				sumClient++;				System.out.println("Client successfully connected,recieving data...");			}		}		catch (Exception e) {			System.out.println("Exception:"+e.toString());		}	}}class ServerThread extends Thread {	Socket s;	int sumClient;	int i;		public ServerThread(Socket ts,int sc){		s=ts;		sumClient=sc;		System.out.println("ServerThread established");        	}	public void run(){		String name="";		String password="";		String reg="";		boolean records=false;		try {		BufferedReader in=				new BufferedReader(new InputStreamReader(s.getInputStream()));		PrintWriter out=				new PrintWriter(				new BufferedWriter(						new OutputStreamWriter(s.getOutputStream())),true);				reg=in.readLine();			password=in.readLine();			name=reg;			if(reg.startsWith("$")||reg.startsWith("+")||reg.startsWith("^")||					reg.startsWith("*")||reg.startsWith("&"))				name=name.substring(1);						System.out.println("REG: "+reg);			System.out.println(name);			System.out.println(password);						Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");		    Connection con=DriverManager.getConnection("jdbc:odbc:community","","");		    Statement stmt=con.createStatement();		    		    ResultSet rs;		    String SQLOrder="SELECT * FROM PERSON WHERE(NAME='"+name+"' AND PASSWORD='"+password+"')";		    rs=stmt.executeQuery(SQLOrder);		    records=rs.next();					    if(records==true) {		    	out.println("1");		    }		   			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");		    SQLOrder="SELECT * FROM COMPANY WHERE(NAME='"+name+"' AND PASSWORD='"+password+"')";		    rs=stmt.executeQuery(SQLOrder);		    records=rs.next();		    		    if(records==true) {		    	out.println(rs.getString("CHARACTER"));		    }		    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");			SQLOrder="SELECT * FROM ACCOUNTS WHERE(ACCOUNT='"+name+"' AND PASSWORD='"+password+"')";		    rs=stmt.executeQuery(SQLOrder);		    records=rs.next();		    if(records==true) {		    	out.println("1");		    }		    		    if(password.equalsIgnoreCase("Balance")) {			    SQLOrder="SELECT * FROM ACCOUNTS WHERE(ACCOUNT='"+name+"')";			    rs=stmt.executeQuery(SQLOrder);			    rs.next();			    out.println(rs.getString("BALANCE"));		    }		    		    if(password.equalsIgnoreCase("Update")){			    SQLOrder="UPDATE ACCOUNTS SET BALANCE='"+in.readLine()+"' WHERE ACCOUNT='"+name+"'";				stmt.executeUpdate(SQLOrder);				System.out.println("Update Successfully");		    }		    		    if(password.equalsIgnoreCase("ChangePwd")){			    SQLOrder="SELECT * FROM ACCOUNTS WHERE(ACCOUNT='"+name+"')";			    rs=stmt.executeQuery(SQLOrder);			    rs.next();			    			    SQLOrder="UPDATE ACCOUNTS SET PASSWORD='"+in.readLine()+"' WHERE(ACCOUNT='"+name+"')";			    stmt.executeUpdate(SQLOrder);		    }		    		    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");		    SQLOrder="SELECT * FROM ACCOUNTS WHERE(ACCOUNT='"+name+"')";		    rs=stmt.executeQuery(SQLOrder);		    records=rs.next();		     		    		    //PACKAGES***************************************		    if(name.equalsIgnoreCase("Initializing")) {		    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 		    SQLOrder="SELECT * FROM NeededSoftwares ";		    rs=stmt.executeQuery(SQLOrder);		    for(i=0;rs.next();){i++;}		    out.println(i);		    System.out.println("i="+i);		    rs=stmt.executeQuery(SQLOrder);		    while(rs.next()){		    	System.out.println("Listing NeededSoftwares....");		    	out.println(rs.getString("nameOfsoftwares"));		    	out.println(rs.getString("typeOfsoftwares"));		    }		    out.println("Term1");		    		    SQLOrder="SELECT * FROM NeededSoftwares ";		    rs=stmt.executeQuery(SQLOrder);		    while(rs.next()){		    	System.out.println("Listing NeededSoftwares again....");		    	out.println(rs.getString("nameOfsoftwares"));		    	out.println(rs.getString("typeOfsoftwares"));		    }		    out.println("Term2");		    		    SQLOrder="SELECT * FROM MAPPING WHERE(customerCrop='"+password+"')";		    rs=stmt.executeQuery(SQLOrder);		    while(rs.next()){		    	System.out.println("Listing Corp....");		    	out.println(rs.getString("mainCrop"));		    	out.println(rs.getString("mainAccount"));		    	out.println(rs.getString("cash"));		    	out.println(rs.getString("date"));		    }		    out.println("Term3");		    }		    		    if(name.equalsIgnoreCase("Get ForSaleSoftwares")) {		    	i=0;		    	Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");		    	SQLOrder="SELECT * FROM ForSaleSoftwares ";	   	    	rs=stmt.executeQuery(SQLOrder);	   		    while(rs.next()){ i++;}	   		    out.println(i);	   		    		    	 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");		    	SQLOrder="SELECT * FROM ForSaleSoftwares ";	   	    	rs=stmt.executeQuery(SQLOrder);	   	    	while(rs.next()){	   	    		System.out.println("Listing Softwares....");	   	    		out.println(rs.getString("name"));	   	    		out.println(rs.getString("type"));	   	    		out.println(rs.getString("price"));	   	    	}	   	    		   	    	out.println("END");		    }		    		    if(name.equalsIgnoreCase("SoftCorp Init")){		    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    		    SQLOrder="SELECT * FROM ForSaleSoftwares ";   	    	rs=stmt.executeQuery(SQLOrder);		    for(i=0;rs.next();){i++;}		    out.println(i);		    rs=stmt.executeQuery(SQLOrder);		    while(rs.next()){		    	System.out.println("Listing ForSaleSoftwares....");		    	out.println(rs.getString("name"));		    	out.println(rs.getString("type"));		    	out.println(rs.getString("price"));		    }		    	    	out.println("Term1");		    }		    		    if(name.equalsIgnoreCase("SoftwareCorp initiation")){		    	SQLOrder="SELECT * FROM ForSaleSoftwares ";		  	  	rs=stmt.executeQuery(SQLOrder); 		  	  while(rs.next()){		          out.println(rs.getString("name"));		          out.println(rs.getString("type"));		          out.println(rs.getString("price"));		  	  }		  	  out.println("Terminated1");			  SQLOrder="SELECT * FROM MAPPING WHERE(customerCrop='"+in.readLine()+"')";			  rs=stmt.executeQuery(SQLOrder);			  while(rs.next()){				  System.out.println("In mapping customercorp");			  		out.println(rs.getString("mainCrop"));			  		out.println(rs.getString("mainAccount"));			  		out.println(rs.getString("goods"));			  		out.println(rs.getString("cash"));			  		out.println(rs.getString("date"));			  }			  out.println("Terminated2");		    }		    		    if(name.equalsIgnoreCase("Fund Init")){		    	i=0;		    	String temp;		    	String corptype="SoftDeveloper";		    	 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 			    String  SQLOrder1="SELECT * FROM COMPANY WHERE(CHARACTER='"+corptype+"')";		    	rs=stmt.executeQuery(SQLOrder1);			    while(rs.next()) i++;			    out.println(i);			    out.flush();			    			    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 			    SQLOrder="SELECT * FROM COMPANY WHERE(CHARACTER='"+corptype+"')";		    	rs=stmt.executeQuery(SQLOrder);			    while(rs.next()){			    	System.out.println("Listing company....");			    	temp=rs.getString("NAME");			    	out.println(temp);			    	out.println(rs.getString("REGISTERDATE"));			    	out.println(rs.getString("CAPTIAL"));			    	out.println(rs.getString("CREDIT"));			    	String acc=new String();			      	try			    	{			    		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 			    	    Connection acon=DriverManager.getConnection("jdbc:odbc:community","","");			    	    Statement astmt=acon.createStatement();			    	    String  aSQLOrder="SELECT * FROM ACCOUNTS WHERE(USERNAME='"+temp+"')";			    	    ResultSet ars=astmt.executeQuery(aSQLOrder);			    	    while(ars.next())			    	    {acc=ars.getString("ACCOUNT");}			    	}			    	catch(Exception ae)			    	{System.out.println(ae.toString());}  			    			    	out.println(acc);			    }			    out.println("Termed1");			    				Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 			    con=DriverManager.getConnection("jdbc:odbc:community","","");			    stmt=con.createStatement();			    temp="SoftDeveloper";			    SQLOrder="SELECT * FROM COMPANY WHERE(CHARACTER='"+temp+"')";		    	rs=stmt.executeQuery(SQLOrder);		    	while(rs.next()) {		    		System.out.println("in Termed2 loop...");		    		out.println(rs.getString("NAME"));		    		out.println(rs.getString("REGISTERDATE"));		    	   out.println(rs.getString("CAPTIAL"));		    	   out.println(rs.getString("CREDIT"));		    	}		    	out.println("Termed2");		    }		    //PACKAGES END*****************************		    		    		    if(records==true) {		    	out.println("1");		    }		    else 		    	out.println("0");//===============================================================================		    		    		    if(reg.startsWith("+") &&records==false) {		    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");	   		SQLOrder="INSERT INTO PERSON VALUES('"+name+"','"+password+"')";	   		stmt.executeUpdate(SQLOrder);	   		System.out.println("Server insert succeeded");		    }	    		   		if(reg.startsWith("$")&&records==false) {	   		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");		    SQLOrder="INSERT INTO COMPANY VALUES('"+name+"','"+password+"','"+in.readLine()+"','"+in.readLine()+"','"+in.readLine()+"','"+in.readLine()+"')";		    stmt.executeUpdate(SQLOrder);		    System.out.println("Server Account insert succeeded");	   		}	   			   		if(reg.startsWith("^")){		    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    		SQLOrder="INSERT INTO MAPPING VALUES('"+name+"','"+password+"','"+in.readLine()+"','"+in.readLine()+"','"+in.readLine()+"','"+in.readLine()+"')";    		stmt.executeUpdate(SQLOrder);	   		}	   			   		if(reg.startsWith("*")) {	   		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    		SQLOrder="INSERT INTO MAPPING VALUES('"+name+"','"+password+"','money','"+in.readLine()+"','"+in.readLine()+"','"+in.readLine()+"')";    		stmt.executeUpdate(SQLOrder);    		System.out.println("Insert Succeed");	   		}    			   			   		if(reg.startsWith("&")){	   			String temp="0";	   			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");	   			SQLOrder="INSERT INTO ACCOUNTS VALUES('"+name+"','"+in.readLine()+"','"+password+"','"+temp+"')";			    stmt.executeUpdate(SQLOrder);			    System.out.println("Ins Account Succeed");	   		}	   					rs.close();			con.close();			out.close();			in.close();			s.close();			System.out.println("ServerSocket Terminated");		}				catch (Exception e) {e.toString();}		}	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -