資源簡介
java實現的簡單http web服務器,能響應瀏覽器端GET請求,并返回響應資源,服務器端界面能顯示相應信息。包含實驗報告。

代碼片段和文件信息
/**
?*?總的服務器監聽
?*?監聽到則單開一個線程
?*/
package?com.jiangnan.WebServer.model;
//import?httpserver.HttpConnection;
import?java.io.IOException;
import?java.net.*;
import?java.util.concurrent.ArrayBlockingQueue;
import?java.util.concurrent.ThreadPoolExecutor;
import?java.util.concurrent.TimeUnit;
public?class?MyWebServer?{
public?MyWebServer(String?pathint?port)
{
try?{
System.out.println(“我是服務器,在“+port+“監聽“);
ServerSocket?ss=new?ServerSocket(port);
startServer(pathss);?????????//調用啟動服務器
/*while(true)
{
Socket?s=ss.accept();
//單開一個線程
new?WebServerThread(s).start();
}*/
}?catch?(Exception?e)?{
//?TODO:?handle?exception
e.printStackTrace();
}
}
@SuppressWarnings(“unchecked“)
public?void?startServer(String?httpPathServerSocket?ss)?{????????????????//啟動線程池
@SuppressWarnings(“rawtypes“)
ThreadLocal?localSocket=new?ThreadLocal();
/*線程池,參數意思依次為:
?*?線程池中所保存的線程數,包括空閑線程
?*?線程池中允許的最大線程數
?*?當線程數大于核心時,此為終止前多余的空閑線程等待新任務的最長時間。以秒為單位
?*?執行前用于保持任務的隊列。此隊列僅由保持?execute?方法提交的?Runnable?任務
?*?執行線程的服務
?*?*/
@SuppressWarnings({?“rawtypes“?})
ThreadPoolExecutor?threadPool?=?new?ThreadPoolExecutor(10?50?3TimeUnit.SECONDS?new?ArrayBlockingQueue(10)new?ThreadPoolExecutor.DiscardOldestPolicy());
?for?(;;){
try?{
System.out.println(“haha“);
localSocket.set(ss.accept());??????????//得到客戶端線程
threadPool.execute(new?WebServerThread((Socket)localSocket.get()httpPath));
}?catch?(IOException?ioexception)?{
????System.out.println(ioexception);
}
}
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????301??2011-05-06?22:17??web服務器\WebServer\.classpath
?????文件????????359??2011-06-17?05:14??web服務器\WebServer\.fatjar
?????文件????????385??2011-05-06?22:17??web服務器\WebServer\.project
?????文件????????629??2011-05-06?22:17??web服務器\WebServer\.settings\org.eclipse.jdt.core.prefs
?????文件???????2373??2011-06-17?05:18??web服務器\WebServer\bin\com\jiangnan\WebServer\model\MyWebServer.class
?????文件???????5012??2011-06-17?05:18??web服務器\WebServer\bin\com\jiangnan\WebServer\model\WebServerThread.class
?????文件???????2921??2011-06-17?05:17??web服務器\WebServer\bin\com\jiangnan\WebServer\view\MainWin$ServerMonitor.class
?????文件???????5454??2011-06-17?05:17??web服務器\WebServer\bin\com\jiangnan\WebServer\view\MainWin.class
?????文件???????1755??2011-06-17?05:18??web服務器\WebServer\src\com\jiangnan\WebServer\model\MyWebServer.java
?????文件???????4060??2011-06-17?05:18??web服務器\WebServer\src\com\jiangnan\WebServer\model\WebServerThread.java
?????文件???????6212??2011-06-17?05:17??web服務器\WebServer\src\com\jiangnan\WebServer\view\MainWin.java
?????文件??????10279??2011-06-17?05:19??web服務器\WebServer_fat.jar
?????文件?????484864??2011-06-19?15:11??web服務器\web服務器.doc
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\bin\com\jiangnan\WebServer\model
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\bin\com\jiangnan\WebServer\view
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\src\com\jiangnan\WebServer\model
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\src\com\jiangnan\WebServer\view
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\bin\com\jiangnan\WebServer
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\src\com\jiangnan\WebServer
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\bin\com\jiangnan
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\src\com\jiangnan
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\bin\com
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\src\com
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\.settings
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\bin
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer\src
?????目錄??????????0??2011-06-19?15:12??web服務器\WebServer
?????目錄??????????0??2011-06-19?15:12??web服務器
-----------?---------??----------?-----??----
???????????????524604????????????????????28
............此處省略1個文件信息
評論
共有 條評論