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

📄 servermainclass.java

📁 关于网上考试系统的
💻 JAVA
字号:
package com.tarena.exam.server;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.Set;

import com.tarena.exam.dao.PaperDao;
import com.tarena.exam.dao.PaperDaoFromFile;
import com.tarena.exam.dao.ScoreDao;
import com.tarena.exam.dao.StudentDao;
import com.tarena.exam.dao.StudentDaoFromTextFile;
import com.tarena.exam.model.Request;
import com.tarena.exam.model.Student;

public class ServerMainClass {
	private ServerSocket ss;
	private StudentDao stuDao;
	private PaperDao pDao;
	private ScoreDao scoDao;
	private List allSubjects;
	private Properties pro;
	public ServerMainClass(){
		try {
			ss=new ServerSocket(8989);
			stuDao=new StudentDaoFromTextFile(new File("student.dat"));
			pDao=new PaperDaoFromFile();
			allSubjects=new ArrayList();
			pro=new Properties();
			//???????/
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public void init(){
		while(true){
			try {
				Socket s=ss.accept();
				new ServerThread(s).start();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	
	class ServerThread extends Thread{
		private Socket s;
		private ObjectInputStream ois;
		private ObjectOutputStream oos;
		
		public ServerThread(Socket s){
			this.s=s;
			try {
				ois=new ObjectInputStream(s.getInputStream());
				oos=new ObjectOutputStream(s.getOutputStream());
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		public void run(){
			try {
				while(true){
					Request req=(Request)ois.readObject();
					System.out.println("-----------------------1");
					System.out.println(req.getType());
					switch(req.getType()){
					case Request.LOGIN_REQUEST:login(req);break;
					case Request.BEGIN_REQUEST:begin(req);break;
					case Request.SEND_REQUEST:send(req);break;
					case Request.QUIT_REQUEST:quit(req);break;
					}
				}
			} catch (IOException e) {
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		private void login(Request req){
			int id=Integer.parseInt(req.getData("id"));
			String passwd=req.getData("passwd");
			Student s=stuDao.getStudent(id,passwd);
			ArrayList arr=new ArrayList();
			Set set=new HashSet();
			try {
				pro.load(new FileInputStream("subject.cfg"));
				set=pro.keySet();
				Iterator it=set.iterator();
				while(it.hasNext()){
					arr.add(it.next());
				}
			} catch (IOException e1) {
				e1.printStackTrace();
			}
			try {
				oos.writeObject(s);
				oos.writeObject(arr);
				oos.flush();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		private void begin(Request req){
				String subject=req.getData("subject");
				String course=pro.getProperty(subject);
			
		
		
		}
				

		
		private void send(Request req){
			//???
		}
		
		private void quit(Request req){
			//???
		}
		
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new ServerMainClass().init();

	}

}

⌨️ 快捷键说明

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