一个简单的web容器小例子,功能十分简单,只能访问静态资源,对于新手来说还是有一定的意义。主要分三个类1、server类:主要功能开启socketServer,阻塞server,接收socket访问,解析request,创建request,作出响应public class Tes ...
一个简单的web容器小例子,功能十分简单,只能访问静态资源,对于新手来说还是有一定的意义。主要分三个类
1、server类:主要功能开启socketServer,阻塞server,接收socket访问,解析request,创建request,作出响应
public class TestServer1 { private boolean shutdown = false; // web目录webroot public static final String WEB_ROOT = System.getProperty("user.dir") + File.separator + "WebRoot"; public static final String SHUTDOWN_COMMAND = "/SHUTDOWN"; public static void main(String[] args) { TestServer1 server = new TestServer1(); server.await(); } public void await() { // 第一步、创建出serverSocket监听本机8080端口 ServerSocket server = null; int port = 8080; try { server = new ServerSocket(port, 1, InetAddress.getByName("127.0.0.1")); } catch (Exception e) { e.printStackTrace(); } // 第二步、轮询阻塞住socketServer while(!shutdown) { Socket socket = null; InputStream input = null; OutputStream output = null; try { socket = server.accept(); input = socket.getInputStream(); output = socket.getOutputStream(); // 第三步、创建出request,解析request请求 Request req = new Request(input); req.parseRequest(); // 第四步、创建response Response response = new Response(output); response.setRequest(req); // 第五步、发送简单静态资源,关闭socket结束本次会话 response.sendStaticRes(); socket.close(); // 关闭指令 shutdown = req.getUri().equals(SHUTDOWN_COMMAND); } catch (IOException e) { e.printStackTrace(); } } } }
原标题:一个简单的web服务器例子
关键词:web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。