Listing 2.2. HttpServer1 類(lèi)的 await 方法public void await() {ServerSocket serverSocket = null;int port = 8080;try {serverSocket = new ServerSocket(port, 1,InetAddress.getByName("127.0.0.1")); }catch (IOException e) {e.printStackTrace();System.exit(1); }// 循環(huán),等待一個(gè)請(qǐng)求while (!shutdown) {Socket socket = null;InputStream input = null;OutputStream output = null;try {socket = serverSocket.accept();input = socket.getInputStream();output = socket.getOutputStream();// 創(chuàng)建請(qǐng)求對(duì)象并解析Request request = new Request(input);request.parse();// 創(chuàng)建回應(yīng)對(duì)象Response response = new Response(output);response.setRequest(request);//檢測(cè)是否是 servlet 或靜態(tài)資源的請(qǐng)求//servlet 請(qǐng)求以 "/servlet/" 開(kāi)始 if (request.getUri().startsWith("/servlet/")) {ServletProcessor1 processor = new ServletProcessor1();processor.process(request, response); }else {StaticResourceProcessor processor =new StaticResourceProcessor();processor.process(request, response); }// 關(guān)閉socketsocket.close();//檢測(cè)是否前面的 URI 是一個(gè) shutdown 命令shutdown = request.getUri().equals(SHUTDOWN_COMMAND); }catch (Exception e) {e.printStackTrace();System.exit(1); } }}
public Object getAttribute(String attribute) {return null; }public Enumeration getAttributeNames() {return null; }public String getRealPath(String path) {
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注