📄 server.java
字号:
package webserver;
import java.net.*;
import java.io.*;
/**
* web单线程的服务器,在此服务器中一次只能接受一个命令请求;
* @author Crise.Lee
* @version 1.0
*/
public class Server {
static String fileroot;
ServerSocket server;
int port;
/**
* 单线程服务器的构造函数,完成接受客户的请求并且调用响应的操作处理客户的请求
*/
public Server()
{
Boolean goon=true;
System.out.println("*************************************************");
System.out.println("****** Starting the web server ****** ");
System.out.println("*************************************************");
ServerSocket ssocket = null;
try {
ssocket = new ServerSocket(9999);
while(goon)
{
goon=false;
try {
System.out.println("*************************************************");
System.out.println("***** The web server reading *****");
System.out.println("***** Waiting a request..... *****");
System.out.println("*************************************************");
Socket accept=ssocket.accept();
Thread handle=new Thread(new Handler(accept,fileroot));
handle.start();
//睡眠5秒等待请求的处理
try {
Thread.sleep(15*1000);
} catch (InterruptedException e) {
System.err.println("错误原因:服务器线程睡眠错误。");
e.printStackTrace();
}
accept.close();
} catch (IOException e) {
System.err.println("错误原因:服务器接受请求错误,服务器关闭。");
//e.printStackTrace();
}finally
{
goon=true;
}
}
} catch (IOException e1) {
System.err.println("错误原因:服务器初始化错误。");
//e1.printStackTrace();
}finally
{
try { //关闭服务器套接字
ssocket.close();
} catch (IOException e) {
System.out.println("错误原因:服务器套接字关闭出错。");
//e.printStackTrace();
}
}
}
/**
* 入口主函数
* @param args 输入的参数
*/
public static void main(String[] args)
{
if(args.length!=0)
fileroot=args[0];
else
fileroot="D:\\";
new Server();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -