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

📄 fbserver.java

📁 实现了简单的校内网功能
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.sql.*;

public class FBServer {
	public static void main(String[] args) {
		try {
			ServerSocket s = new ServerSocket(6789);
			System.out.println("Server is waiting");

			for (;;) {
				Socket incoming = s.accept();
				System.out.println("Server accepted a connection");
				new ThreadedDataObjectHandler(incoming).start();

			}
		} catch (Exception e) {
			System.out.println(e);
		}
	}
}

class ThreadedDataObjectHandler extends Thread {
	boolean runFlag = true;
	Socket incoming;
	ObjectInputStream in;
	ObjectOutputStream out;

	public ThreadedDataObjectHandler(Socket comingsocket) {
		incoming = comingsocket;

	}

	public void run() {

		String sql;
		Connection con;
		Statement stmt;
		ResultSet rs;

		try {
			in = new ObjectInputStream(incoming.getInputStream());
			out = new ObjectOutputStream(incoming.getOutputStream());

			// connect to the database
			Class.forName("oracle.jdbc.driver.OracleDriver");
			System.out.println("oracle jdbc");
			con = DriverManager.getConnection(
					"jdbc:oracle:thin:@prophet.njit.edu:1521:course", "xm6",
					"MyFloGgv");
			stmt = con.createStatement();
			System.out.println("Server connected to the database.");

			while (runFlag) {
				DataObject myObjectIn = new DataObject();
				DataObject myObjectOut = new DataObject();

				String[] bufferArray = new String[20];
				String[] contents = new String[100];
				String buffer = "";
				String username = "";
				String password = "";
				String name = "";
				String gender = "";
				String birthday = "";
				String phone = "";
				String email = "";
				String address = "";
				String school = "";
				String message = "";
				String content = "";

				try {
					myObjectIn = (DataObject) in.readObject();
					message = myObjectIn.getMessage();
					System.out.println(message);

					// login
					if (message.equals("login")) {
						username = myObjectIn.getUsername();
						password = myObjectIn.getPassword();
						sql = "select password,rank,name,gender,birthday,phone,email,address,school from facebook where username = '"
								+ username + "'";
						rs = stmt.executeQuery(sql);
						while (rs.next()) {
							buffer = rs.getString("password");
							myObjectOut.setRank(rs.getString("rank"));
							myObjectOut.setName(rs.getString("name"));
							myObjectOut.setGender(rs.getString("gender"));
							myObjectOut.setBirthday(rs.getString("birthday"));
							myObjectOut.setPhone(rs.getString("phone"));
							myObjectOut.setEmail(rs.getString("email"));
							myObjectOut.setAddress(rs.getString("address"));
							myObjectOut.setSchool(rs.getString("school"));

						}

						System.out.println("password is " + buffer);
						if (buffer.equals(password)) {
							message = "login match";
							System.out.println(username);

							// search the names for jtree
							sql = "select name from facebook";
							rs = stmt.executeQuery(sql);
							for (int i = 0; rs.next(); i++) {
								bufferArray[i] = rs.getString("name");
							}
							myObjectOut.setNames(bufferArray);

							// search the messages for messageArea
							sql = "select content from message where username = '"
									+ username + "'";
							rs = stmt.executeQuery(sql);
							for (int i = 0; rs.next(); i++) {
								contents[i] = rs.getString("content");
							}
							myObjectOut.setContents(contents);

						} else {
							message = "login not match";
							System.out.println(username);
						}

					}

					// register (need username and password)
					else if (message.equals("register")) {
						username = myObjectIn.getUsername();
						password = myObjectIn.getPassword();
						System.out.println(username);
						sql = "select username from facebook where username = '"
								+ username + "'";
						rs = stmt.executeQuery(sql);
						while (rs.next()) {
							buffer = rs.getString("username");
							if (buffer.equals(username)) {
								message = "regist existed";
								System.out.println(message);
								break;
							}
						}

						if (message.equals("regist existed")) {
						} else {
							System.out.println("inserting");
							sql = "insert into facebook (username, password, rank) values('"
									+ username
									+ "','"
									+ password
									+ "','"
									+ "1"
									+ "')";
							rs = stmt.executeQuery(sql);
							message = "Done for register";
						}
						System.out.println("What is in message");
						System.out.println(message);

					}

					// search name (need name and message)
					else if (message.equals("search")) {
						name = myObjectIn.getName();
						System.out.println("searching for " + name);
						sql = "select username,name,rank,gender,birthday,phone,email,address,school from facebook where name = '"
								+ name + "'";
						rs = stmt.executeQuery(sql);
						while (rs.next()) {
							buffer = rs.getString("name");
							if (buffer.equals(name)) {
								message = "name match";
								username = rs.getString("username");
								myObjectOut.setUsername(username);
								myObjectOut.setName(rs.getString("name"));
								myObjectOut.setGender(rs.getString("gender"));
								myObjectOut.setBirthday(rs
										.getString("birthday"));
								myObjectOut.setPhone(rs.getString("phone"));
								myObjectOut.setEmail(rs.getString("email"));
								myObjectOut.setAddress(rs.getString("address"));
								myObjectOut.setSchool(rs.getString("school"));
								break;
							}
						}
						if (message.equals("name match")) {
							sql = "select content from message where username = '"
									+ username + "'";
							rs = stmt.executeQuery(sql);
							for (int i = 0; rs.next(); i++) {
								bufferArray[i] = rs.getString("content");
							}
							myObjectOut.setContents(bufferArray);
						} else {
							message = "name fail";
							System.out.println(username);
						}
					}

					// update (need all data to updata)
					else if (message.equals("update")) {
						System.out.println("server recieve update");
						username = myObjectIn.getUsername();
						name = myObjectIn.getName();
						gender = myObjectIn.getGender();
						birthday = myObjectIn.getBirthday();
						phone = myObjectIn.getPhone();
						email = myObjectIn.getEmail();
						address = myObjectIn.getAddress();
						school = myObjectIn.getSchool();

						System.out.println(username);
						System.out.println(name);
						sql = "update facebook set name = '" + name
								+ "', gender = '" + gender + "', birthday = '"
								+ birthday + "', phone = '" + phone
								+ "', email = '" + email + "', address = '"
								+ address + "', school = '" + school
								+ "' where username = '" + username + "'";
						rs = stmt.executeQuery(sql);

						message = "updated";

					}

					// add message (need content and username)
					else if (message.equals("leave message")) {
						System.out.println("add message");
						content = myObjectIn.getContent();
						username = myObjectIn.getUsername();
						sql = "insert into message(content, username) values ('"
								+ content + "', '" + username + "')";
						rs = stmt.executeQuery(sql);
						message = "added message";
					}

				}

				catch (Exception ee) {
				}
				System.out.println("Message read: "
						+ myObjectIn.getConfirmpsw());
				if (myObjectIn.getConfirmpsw().trim().equals("bye")) {
					runFlag = false;
				}

				myObjectOut.setMessage(message);
				out.writeObject(myObjectOut);
				System.out.println("Sended back");

				username = "";
				password = "";
				name = "";
				gender = "";
				birthday = "";
				phone = "";
				email = "";
				address = "";
				school = "";
			}
			in.close();
			out.close();
			incoming.close();
		} catch (Exception e) {
			System.out.println(e);
		} finally {
		}
	}
}

⌨️ 快捷键说明

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