?? servermainclass.java
字號(hào):
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(8808);
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();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -