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

📄 clientlogin.java

📁 本工程模拟网上社区,其中包括银行,软件销售公司,软件投资公司,茶餐馆,和多个服务器.
💻 JAVA
字号:
package server;

import java.io.*;
import java.sql.*;
import java.sql.Connection;
import java.net.*;
import java.lang.String;
import java.util.StringTokenizer;
public class ClientLogin {
    private Connection connection=null;
    private PreparedStatement statement=null;  
    private Server frameserver;
    private Socket socket;
    private String command;
    private String saveaccount;
    public ClientLogin(String command_,Server frameserver_,Socket socket_) {
        frameserver=frameserver_;
        command=command_;
        socket=socket_;
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            connection=DriverManager.getConnection("jdbc:odbc:Account"); 
            String sql="select* from Account";
            statement=connection.prepareStatement(sql);
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
         }
    }
    public String Validate()
    { 
        StringTokenizer st=new StringTokenizer(command,"/");
        st.nextToken();
        String account=st.nextToken(); 
        String code=st.nextToken();
        if(IfOnline(account))
        {
           try{
            connection.close();
            statement.close();
            socket=null;
            }
          catch(Exception e)
          {
             System.out.println(e.toString());            
          }             
            return "already";
        }
        try{
            ResultSet result=statement.executeQuery();
            while(result.next())
            {
                String a=result.getString("帐号");
                String c=result.getString("密码");
                String n=result.getString("名称");
                if(account.equals(a)&&code.equals(c))
                { 
                    InetAddress inet=socket.getInetAddress();
                    ClientInfo clientinfo=new ClientInfo(n,inet.getHostAddress(),socket.getPort(),account,socket,code); 
                    frameserver.vector.add(clientinfo);
                    frameserver.AddCleint(clientinfo.ReturnAccount());
                    connection.close();
                    statement.close();
                    frameserver.AddAction("用户登陆成功");    
                    frameserver.AddAction("用户"+account+"进入大厅"+" IP: "+inet.getHostAddress()+" 端口:"+socket.getPort());
                    if(account.equals("bank"))
                    {
                        frameserver.BankIP=inet.getHostAddress();
                    }
                    if(account.equals("invest"))
                    {
                        frameserver.InvestIP=inet.getHostAddress();
                    }
                    if(account.equals("software"))
                    {
                        frameserver.SoftwareIP=inet.getHostAddress();
                    }
                    socket=null;
                    return "success";                  
                }                      
            }
            result=null;
       }
       catch(Exception e)
       {    
           System.out.println(e.toString());           
       }  
       try{
            connection.close();
            statement.close();
            socket=null;
        }
        catch(Exception e)
        {
             System.out.println(e.toString());            
        }     
       return "failure";
    }
    public boolean IfOnline(String account_)
    {
         for(int i=0;i<frameserver.NumClient();i++)
         {
             if(frameserver.GetClient(i).equals(account_))
             {
                 return true;
             }
         }
         return false;
    }
}

⌨️ 快捷键说明

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