HowTomcatWork 笔记 6 服务器端 HttpServer
来源:互联网 发布:专业影像编辑软件 编辑:程序博客网 时间:2024/05/05 09:57
HttpServer
监听http请求,产生Socket实例与客户端Socket通信
特别属性:
backlog,在服务器拒绝连接前的最大连续数
System.getProperty("user.dir") --指向当前用户目录,也就是java xxxx ,的时候,所在的目录。
重点:
1.一次只能接收一个Socket接连,因为是单线程
package ex01.pyrmont;import java.net.Socket;import java.net.ServerSocket;import java.net.InetAddress;import java.io.InputStream;import java.io.OutputStream;import java.io.IOException;import java.io.File;public class HttpServer { /** WEB_ROOT is the directory where our HTML and other files reside. * For this package, WEB_ROOT is the "webroot" directory under the working * directory. * The working directory is the location in the file system * from where the java command was invoked. */ public static final String WEB_ROOT = System.getProperty("user.dir") + File.separator + "webroot"; // shutdown command private static final String SHUTDOWN_COMMAND = "/SHUTDOWN"; // the shutdown command received private boolean shutdown = false; public static void main(String[] args) { HttpServer server = new HttpServer(); server.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); } // Loop waiting for a request while (!shutdown) { Socket socket = null; InputStream input = null; OutputStream output = null; try { socket = serverSocket.accept(); input = socket.getInputStream(); output = socket.getOutputStream(); // create Request object and parse Request request = new Request(input); request.parse(); // create Response object Response response = new Response(output); response.setRequest(request); response.sendStaticResource(); // Close the socket socket.close(); //check if the previous URI is a shutdown command shutdown = request.getUri().equals(SHUTDOWN_COMMAND); } catch (Exception e) { e.printStackTrace(); continue; } } }}
- HowTomcatWork 笔记 6 服务器端 HttpServer
- HowTomcatWork 笔记 4 HTTP协议
- HowTomcatWork 笔记 2 Connector与Container
- HowTomcatWork 笔记 3 tomcat4 与 tomcat5 区别
- HowTomcatWork 笔记 5 客户端 Socket类
- HowTomcatWork 笔记 1 Servlet 容器做的3件事情
- docker-netcore-httpserver学习笔记
- HttpServer
- httpserver
- Python学习笔记(十一)—搭建简单的HttpServer
- Java HttpServer
- Httpserver跳转
- java httpserver
- python HTTPServer
- iso httpServer
- HTTPServer入门
- HttpClient -- HttpServer
- HTTPServer细节
- 将OgreMain.dll的体积减到最小
- linux 打印call stack 方法
- 让程序运行时不在任务栏显示图标
- 北京,曼谷和北戴河
- maven 工程简单打包
- HowTomcatWork 笔记 6 服务器端 HttpServer
- setbuf控制流的提交
- 背包问题之回溯法
- Ubuntu探秘之一:BIOS到底干啥用
- 关于记事本
- 统计文件夹下的文件个数
- vs2008中操作技巧
- 搜索hdu1241 这可能是最基础的搜索题目
- android 系统基于wifi 定位的实现