import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; /** * Created by Administrator on 2016/7/29. */ public class HttpDemo extends Thread { private ServerSocket serverSocket; private int port = 80; public void run() { String[] MIME_TYPES = { "text/html", "image/jpeg", "image/png", "image/gif", "application/javascript", "text/css", }; try { serverSocket = new ServerSocket(port); while(true) { Socket connectedClient = serverSocket.accept(); DataInputStream inStream = new DataInputStream(connectedClient.getInputStream()); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inStream)); String str = bufferedReader.readLine(); ArrayList<String> headers = new ArrayList(); String encoding = "ISO-8859-1"; while(str != null) { System.out.println(str); headers.add(str); if (str.isEmpty()) { //analysis headers and response http request String firstLine = headers.get(0); String parts[] = firstLine.split(" "); String responseHeader; String responseBody; String file; responseHeader = "HTTP/1.1 200 OK "; DataOutputStream out = new DataOutputStream(connectedClient.getOutputStream()); if (parts[1].equals("/")) { file = "./index.html"; } else { file = "." + parts[1]; } String mimeType; if (file.endsWith(".html")) { mimeType = MIME_TYPES[0]; } else if(file.endsWith(".jpg")) { mimeType = MIME_TYPES[1]; } else if(file.endsWith(".png")) { mimeType = MIME_TYPES[2]; } else if(file.endsWith(".gif")) { mimeType = MIME_TYPES[3]; } else if(file.endsWith(".css")) { mimeType = MIME_TYPES[5]; } else if(file.endsWith(".js")) { mimeType = MIME_TYPES[4]; } else { mimeType = MIME_TYPES[0]; } try { File fl = new File(file); Long len = fl.length(); responseHeader += "Content-Length:" + len + " "; responseHeader += "Content-Type:" + mimeType; byte[] buf = new byte[len.intValue()]; FileInputStream flin = new FileInputStream(file); flin.read(buf, 0, len.intValue()); responseBody = new String(buf, encoding); } catch(Exception e) { connectedClient.close(); break; } out.writeBytes(responseHeader + " " + responseBody); connectedClient.close(); break; } str = bufferedReader.readLine(); } } } catch(Exception e) { //do nothing } } }
tiny java web server
相信世界是平的
谨记四个字“修身养性”
大江东去浪淘尽英雄,再牛B的人物最后也是一掊土
向善不是目的,而是抚慰心灵,更多的感受幸福,感谢别人给你行善的机会
相信老子的话:万物生于有,有生于无,一切的道理都源于一个无法证明的假设
我是好是坏就自然而然的摆在那里,并不会因为别人的评价而改变什么,我也不需要别人用一张纸来说明我什么,世间最难得的是自由
谨记四个字“修身养性”
大江东去浪淘尽英雄,再牛B的人物最后也是一掊土
向善不是目的,而是抚慰心灵,更多的感受幸福,感谢别人给你行善的机会
相信老子的话:万物生于有,有生于无,一切的道理都源于一个无法证明的假设
我是好是坏就自然而然的摆在那里,并不会因为别人的评价而改变什么,我也不需要别人用一张纸来说明我什么,世间最难得的是自由
支持大额赞助: