requesthandlerthread.java

来自「基于java nio实现的http服务器」· Java 代码 · 共 32 行

JAVA
32
字号
package org.sse.server;
import org.sse.http.*;
/**
 * @author Taylor Cowan
 */
public class RequestHandlerThread extends Thread {
	private Queue myQueue;
	private ServletContext myServletContext;
	private DefaultServlet defaultServlet = new DefaultServlet();
	public RequestHandlerThread(ServletContext context, Queue q) {
		myServletContext = context;
		myQueue = q;
	}
	public void run() {
		while (true) {
			Client client = (Client) myQueue.remove();
			try {
				for (; ; ) {
					HttpRequest req = new HttpRequest(client.clientInputStream,
							myServletContext);
					HttpResponse res = new HttpResponse(client.key);
					defaultServlet.service(req, res);
					if (client.notifyRequestDone())
						break;
				}
			} catch (Exception e) {
				client.key.cancel();
				client.key.selector().wakeup();
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?