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

📄 server.java

📁 这是我收集的毕业师兄的毕业设计,具体的功能我也不清楚,不过是可以用来答辩的,完整的毕业设计,有源代码,可爱执行文件,文档资料.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.io.*;
import java.net.*;
import java.math.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import decrypt.*; 
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
public class Server extends Frame implements ActionListener,Runnable
{Label label=new Label("这是服务器端,连接人请看右边清单");
Label laconnect=new Label("信息列表");
Label connectip=new Label("连接人IP列表");
Label seemessage=new Label("查看聊天记录请输入日期,格式如“X月X日”,按回车键确定");
static TextField see=new TextField(20);
static Button b_all=new Button("全部用户");
static Button b_online=new Button("在线列表");
static Button d_all=new Button("删除用户");
static Button d_online=new Button("阻止用户在线");
Panel panel=new Panel();
Panel pconnect=new Panel();
Panel pcenter=new Panel();
static List liconnect=new List(20);
static TextArea a_connect,a_message;
ServerSocket server;
Thread connect;
DataInputStream in;
DataOutputStream out;
receivemessage message;
Imagecanvas sercan=new Imagecanvas("see.jpg");
MenuBar menubar;Menu menu1,menu2;
static MenuItem me_item1,me_item2,me_item3,me_item4;
public Server()
	{super("服务器端");
	setBounds(100,80,550,470);
      a_connect =new TextArea();
	  a_message=new TextArea();
	  setLayout(null);
	 menubar=new MenuBar();menu1=new Menu("用户管理");menu2=new Menu("密钥管理");
	  me_item1=new MenuItem("新增用户");me_item2=new MenuItem("删除用户");
	  me_item3=new MenuItem("新增对称密码"); me_item4=new MenuItem("新增非对称密码");
	   menu1.add(me_item1);menu1.add(me_item2);menu2.add(me_item3);
        menu2.add(me_item4);
		 menubar.add(menu1);menubar.add(menu2);
		 setMenuBar(menubar);
	 add(seemessage);add(see);add(label);add(laconnect);add(connectip);add(a_connect);add(a_message);add(liconnect);add(b_all);add(b_online);add(d_all);add(d_online);add(sercan);
	connectip.setBounds(40,60,100,20);a_connect.setBounds(20,80,300,150);
	laconnect.setBounds(80,240,100,20);a_message.setBounds(20,260,300,150);liconnect.setBounds(360,80,100,260);
	b_all.setBounds(360,350,50,20);b_online.setBounds(420,350,80,20);
	d_all.setBounds(360,380,50,20);d_online.setBounds(420,380,80,20);
	seemessage.setBounds(20,420,350,20);see.setBounds(50,440,80,20);
	sercan.setBounds(-25,0,600,500);
      message=new receivemessage();
      message.start();
	 addWindowListener(new WindowAdapter()
		{public void windowClosing(WindowEvent e)
			{System.exit(0);
			}
		});
		show();
      		try{server=new ServerSocket(9876);}
			catch(IOException e){};
			connect=new Thread(this);
			connect.start();
	}
public void run()
	{try
		{while(true)
			{Socket client=server.accept();
                        a_connect.append(client.getInetAddress()+"    is connecting."+"\n");
                        firstthread fi=new firstthread(this,client);
			  fi.setPriority(Thread.MIN_PRIORITY);fi.start();
			}
		}
		catch(Exception e){};
	}
public void actionPerformed(ActionEvent e)
	{}
public static void main(String args[])
	{new Server();}
}
class  firstthread extends Thread implements ActionListener
{ Socket client;String line,name;int k=0;
  String str;Date date;
 static Connection con;Statement sql;
 static ResultSet rs;
  static DataOutputStream firstout,output;
  Server server;
  DataInputStream input;
  int outport=6789;
  int is_one=1;

public firstthread(Server server,Socket client)
	{
	this.server=server;this.client=client;
	Server.liconnect.addActionListener(this);
        Server.b_all.addActionListener(this);
        Server.b_online.addActionListener(this);
		 Server.d_all.addActionListener(this);
		 Server.d_online.addActionListener(this);
		 Server.see.addActionListener(this);
		 Server.me_item1.addActionListener(this);Server.me_item2.addActionListener(this);
		 Server.me_item3.addActionListener(this);Server.me_item4.addActionListener(this);
     try
		 {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	      }
	      catch(ClassNotFoundException e){}
	 try
		{con=DriverManager.getConnection("jdbc:odbc:hong","dba","sein2000");
		    sql=con.createStatement();
		}
		catch(SQLException e){}
      try
		  {input=new DataInputStream(client.getInputStream());
	       output=new DataOutputStream(client.getOutputStream());
         firstout=new DataOutputStream(client.getOutputStream());
		  }
		  catch(IOException e)
		{System.out.println("connect err");}
	}
public void run()
	{decrypt_kind hong=new decrypt_kind();
	 int ok=0;int is_pass=0;
			  try
	   { while(true)
          	{ int i=1;String belong_dept=new String("");
	                  String sqlname,sqlword,is_message,port,sqldebe,pass_con1="",pass_con2="",pass_con3="",pass_con4="",pass_con5="";
                          String dept_con1,dept_con2,dept_con3,dept_con4,dept_con5;
                          String dept_port1,dept_port2,dept_port3,dept_port4,dept_port5;
	                  String dept_man1,dept_man2,dept_man3,dept_man4,dept_man5;
                          String sname,sword,sdebe,pass_sent="",resultpass;

	         str=input.readUTF();String result=new String(hong.de_RSA(str));
	         if(result.startsWith("pass"))
			{ int j=0,k=0;
		          resultpass=result.substring(4); 
	               	  j=resultpass.indexOf("\1");
		          k=resultpass.indexOf("\2");
	             	  sname=resultpass.substring(0,j);
		          sword=resultpass.substring(j+1,k);
		          sdebe=resultpass.substring(k+1,resultpass.length());
	                try
						{
		                 rs=sql.executeQuery("SELECT * FROM t_pass ");
		            while(rs.next())
					      {sqlname=rs.getString(1);sqlword=rs.getString(2);is_message=rs.getString(3);
					       port=rs.getString(4);sqldebe=rs.getString(5);
                                               pass_con1=rs.getString(6); pass_con2=rs.getString(7); pass_con3=rs.getString(8);
			          	       if(sqlword.trim().equals(sword.trim())&&sqlname.trim().equals(sname.trim())&&sqldebe.trim().equals(sdebe.trim())) 
							 {Server.liconnect.add(sqlname);
				                          is_pass=1;
							  pass_sent+=("PASSOK"+is_message+port);
							  pass_sent+=(pass_con1+pass_con2+pass_con3+"\1");
							  break;
							 }
							 
						  } 
						}
					catch(SQLException e2){};
						if(is_pass==0)
							{output.writeUTF("Sorry");}
						else 
							{is_pass=0;
							 String s1="'"+sname+"'";String s2="'"+""+"'";String s3="'"+""+"'";String temp="INSERT INTO t_online VALUES ("+s1+","+s2+","+s3+")";
                                                         System.out.println(""+sql.executeUpdate(temp));
							try
								{rs=sql.executeQuery("SELECT * FROM t_dept");
							   while(rs.next())
									{  
								   dept_con1=rs.getString(1).trim();
                                                                  dept_man1=rs.getString(2);dept_port1=rs.getString(3);
                                                                  dept_man2=rs.getString(4);dept_port2=rs.getString(5);
                                                                  dept_man3=rs.getString(6);dept_port3=rs.getString(7);
                                                                  dept_man4=rs.getString(8);dept_port4=rs.getString(9);
                                                                  dept_man5=rs.getString(10);dept_port5=rs.getString(11);                                                                    
								      if(pass_con1.trim().equals(dept_con1.trim()))
								        {
						                 pass_sent+=(dept_man1+dept_port1+dept_man2+dept_port2+dept_man3+dept_port3+dept_man4+dept_port4+"\2");
										
										}
									 else if(pass_con2.trim().equals(dept_con1.trim()))
								        {
						                  pass_sent+=(dept_man1+dept_port1+dept_man2+dept_port2+dept_man3+dept_port3+dept_man4+dept_port4+"\2");
										}
									else if(pass_con3.trim().equals(dept_con1.trim()))
								        {
                                                                         pass_sent+=(dept_man1+dept_port1+dept_man2+dept_port2+dept_man3+dept_port3+dept_man4+dept_port4+"\2");
										}
									else if(pass_con4.trim().equals(dept_con1.trim()))
								        {
						                pass_sent+=(dept_man1+dept_port1+dept_man2+dept_port2+dept_man3+dept_port3+dept_man4+dept_port4+"\2");
										}
                                   
									}
								}
								catch(SQLException e2){};
                                                                 System.out.println(pass_sent);
								output.writeUTF(pass_sent+"\3");pass_sent="";
							}
				}
			else if(result.startsWith("whoonline"))
					{String sqlman;String onlineman=new String("online");
                                         try
						{
		                  rs=sql.executeQuery("SELECT * FROM t_online ");
		                  while(rs.next())
					      {onlineman+=rs.getString(1);}
		                                 }
                                        catch(SQLException ioe){}
                                         output.writeUTF(onlineman+"\1");
                                        }
                       else if(result.startsWith("out"))
                                        {String outman=result.substring(3);String s1="'"+outman+"'";String s2="'"+""+"'";String s3="'"+""+"'";String temp="DELETE FROM t_online WHERE name="+s1+"";
                                                         System.out.println(""+sql.executeUpdate(temp));
                                        }
                      else if(result.startsWith("updata"))
                                      {String upword=result.substring(6);int updatanumber=upword.indexOf("\1");String updataman=upword.substring(0,updatanumber);String updataword=upword.substring(updatanumber+1);
                                    String s1="'"+updataman+"'",s2="'"+updataword+"'";
                                     String temp="UPDATE t_pass set password="+s2+" WHERE passname="+s1;
                                     sql.executeUpdate(temp);output.writeUTF("updataok");
                                    }
                      else if(result.startsWith("sendmessage"))
                                    {
						             int temponline=0;String temp=new String(result.substring(11));int tempnumber=temp.indexOf("\1");int tempnumber2=temp.indexOf("\2");
                                                                         String tempman=new String(temp.substring(0,tempnumber).trim());String tempmessage=new String(temp.substring(tempnumber+1,tempnumber2));String tempdate=new String(temp.substring(tempnumber2+1)); 
                                                                         for(i=1;i<=Server.liconnect.getItemCount();i++)
                                        {String templist=Server.liconnect.getItem(i-1);
                                                                                    if(templist.trim().equals(tempman.trim()))
                                                                                          {temponline=1;break;}
                                                                                }
                                                                         if(temponline==1)
                                             {
                                              output.writeUTF("sendok");String ss1="'"+tempman+"'",ss2="'"+tempmessage+"'",ss3="'"+temponline+"'",ss4="'"+tempdate+"'";
                                              String sendtemp="INSERT INTO t_message VALUES ("+ss1+","+ss2+","+ss3+","+ss4+")";
                                              System.out.println(""+sql.executeUpdate(sendtemp));
                                              }     
                                     else  if(!(temponline==1)){output.writeUTF("sendfalse");String ss1="'"+tempman+"'",ss2="'"+tempmessage+"'",ss3="'"+temponline+"'",ss4="'"+tempdate+"'";
                                               String sendtemp="INSERT INTO t_message VALUES ("+ss1+","+ss2+","+ss3+","+ss4+")";
                                                sql.executeUpdate(sendtemp);
                                                String temp2="UPDATE t_pass set is_message='1' WHERE passname="+ss1;
                                                System.out.println(sql.executeUpdate(sendtemp));

                                                 }                                                       
                                    }
                          }
                     }
                               catch(Exception e1){} 
		}
public void actionPerformed(ActionEvent e)
	{if(e.getSource()==Server.me_item1)

⌨️ 快捷键说明

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