除了服務器類,還包括請求類和響應類
成都創新互聯公司,為您提供網站建設公司、成都網站制作公司、網站營銷推廣、網站開發設計,對服務主動防護網等多個行業擁有豐富的網站建設及推廣經驗。成都創新互聯公司網站建設公司成立于2013年,提供專業網站制作報價服務,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發展進步,是我們永遠的責任!請求類:獲取客戶的HTTP請求,分析客戶所需要的文件
響應類:獲得用戶請求后將用戶需要的文件讀出,添加上HTTP應答頭。發送給客戶端。
服務器處理類
package com.lp.app.webserver; import java.io.*; import java.net.*; //使用Socket創建一個WEB服務器,本程序是多線程系統以提高反應速度。 class WebServer { public static String WEBROOT = "";//默認目錄 public static String defaultPage = "index.htm";//默認文件 public static void main (String [] args) throws IOException { System.out.println ("服務器啟動...\n"); //使用8080端口提供服務 ServerSocket server = new ServerSocket (8080); while (true) { //阻塞,直到有客戶連接 Socket sk = server.accept (); System.out.println ("Accepting Connection...\n"); //啟動服務線程 new WebThread (sk).start (); } } } //使用線程,為多個客戶端服務 class WebThread extends Thread { private Socket sk; WebThread (Socket sk) { this.sk = sk; } //線程體 public void run () { InputStream in = null; OutputStream out = null; try{ in = sk.getInputStream(); out = sk.getOutputStream(); //接收來自客戶端的請求。 Request rq = new Request(in); //解析客戶請求 String sURL = rq.parse(); System.out.println("sURL="+sURL); if(sURL.equals("/")) sURL = WebServer.defaultPage; Response rp = new Response(out); rp.Send(sURL); } catch (IOException e) { System.out.println (e.toString ()); } finally { System.out.println ("關閉連接...\n"); //最后釋放資源 try{ if (in != null) in.close (); if (out != null) out.close (); if (sk != null) sk.close (); } catch (IOException e) { } } } }
網站標題:java使用socket實現一個多線程web服務器的方法-創新互聯
文章來源:http://newbst.com/article2/dggeic.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、網站建設、營銷型網站建設、網站內鏈、網站維護、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯