├── .classpath ├── .project ├── .settings └── org.eclipse.jdt.core.prefs ├── README.md ├── lib ├── commons-beanutils.jar ├── commons-collections.jar ├── commons-daemon.jar ├── commons-digester.jar ├── commons-logging.jar ├── commons-modeler.jar ├── jaas.jar ├── jakarta-regexp-1.2.jar ├── jcert.jar ├── jnet.jar ├── jsse.jar ├── mx4j.jar ├── naming-common.jar ├── naming-factory.jar ├── naming-resources.jar ├── servlet.jar ├── tomcat-util.jar ├── xercesImpl.jar └── xmlParserAPIs.jar ├── src ├── ex01 │ └── WebServer │ │ ├── HttpServer.java │ │ ├── Request.java │ │ └── Response.java ├── ex02 │ ├── ServletContainer1 │ │ ├── Constants.java │ │ ├── HttpServer.java │ │ ├── Request.java │ │ ├── Response.java │ │ ├── ServletProcessor.java │ │ ├── StaticResourceProcessor.java │ │ └── servletContainer.md │ └── ServletContainer2 │ │ ├── Constants.java │ │ ├── HttpServer2.java │ │ ├── Request.java │ │ ├── RequestFacade.java │ │ ├── Response.java │ │ ├── ResponseFacade.java │ │ ├── ServletProcessor2.java │ │ └── StaticResourceProcessor.java └── ex03 │ └── connector │ ├── RequestStream.java │ ├── ResponseStream.java │ ├── ResponseWriter.java │ ├── ServletProcessor.java │ ├── StaticResourceProcessor.java │ ├── StringManager.java │ ├── http │ ├── Constants.java │ ├── HttpConnector.java │ ├── HttpHeader.java │ ├── HttpProcessor.java │ ├── HttpRequest.java │ ├── HttpRequestLine.java │ ├── HttpResponse.java │ ├── RequestFacade.java │ ├── ResponseFacade.java │ └── SocketInputStream.java │ └── startup │ └── Boostrap.java └── webroot ├── PrimitiveServlet.class ├── PrimitiveServlet.java ├── images └── logo.gif └── index.html /.classpath: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/.classpath -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/.project -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/.settings/org.eclipse.jdt.core.prefs -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/README.md -------------------------------------------------------------------------------- /lib/commons-beanutils.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/commons-beanutils.jar -------------------------------------------------------------------------------- /lib/commons-collections.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/commons-collections.jar -------------------------------------------------------------------------------- /lib/commons-daemon.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/commons-daemon.jar -------------------------------------------------------------------------------- /lib/commons-digester.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/commons-digester.jar -------------------------------------------------------------------------------- /lib/commons-logging.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/commons-logging.jar -------------------------------------------------------------------------------- /lib/commons-modeler.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/commons-modeler.jar -------------------------------------------------------------------------------- /lib/jaas.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/jaas.jar -------------------------------------------------------------------------------- /lib/jakarta-regexp-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/jakarta-regexp-1.2.jar -------------------------------------------------------------------------------- /lib/jcert.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/jcert.jar -------------------------------------------------------------------------------- /lib/jnet.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/jnet.jar -------------------------------------------------------------------------------- /lib/jsse.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/jsse.jar -------------------------------------------------------------------------------- /lib/mx4j.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/mx4j.jar -------------------------------------------------------------------------------- /lib/naming-common.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/naming-common.jar -------------------------------------------------------------------------------- /lib/naming-factory.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/naming-factory.jar -------------------------------------------------------------------------------- /lib/naming-resources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/naming-resources.jar -------------------------------------------------------------------------------- /lib/servlet.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/servlet.jar -------------------------------------------------------------------------------- /lib/tomcat-util.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/tomcat-util.jar -------------------------------------------------------------------------------- /lib/xercesImpl.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/xercesImpl.jar -------------------------------------------------------------------------------- /lib/xmlParserAPIs.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/lib/xmlParserAPIs.jar -------------------------------------------------------------------------------- /src/ex01/WebServer/HttpServer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex01/WebServer/HttpServer.java -------------------------------------------------------------------------------- /src/ex01/WebServer/Request.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex01/WebServer/Request.java -------------------------------------------------------------------------------- /src/ex01/WebServer/Response.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex01/WebServer/Response.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer1/Constants.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer1/Constants.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer1/HttpServer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer1/HttpServer.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer1/Request.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer1/Request.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer1/Response.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer1/Response.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer1/ServletProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer1/ServletProcessor.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer1/StaticResourceProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer1/StaticResourceProcessor.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer1/servletContainer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer1/servletContainer.md -------------------------------------------------------------------------------- /src/ex02/ServletContainer2/Constants.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer2/Constants.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer2/HttpServer2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer2/HttpServer2.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer2/Request.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer2/Request.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer2/RequestFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer2/RequestFacade.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer2/Response.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer2/Response.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer2/ResponseFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer2/ResponseFacade.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer2/ServletProcessor2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer2/ServletProcessor2.java -------------------------------------------------------------------------------- /src/ex02/ServletContainer2/StaticResourceProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex02/ServletContainer2/StaticResourceProcessor.java -------------------------------------------------------------------------------- /src/ex03/connector/RequestStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/RequestStream.java -------------------------------------------------------------------------------- /src/ex03/connector/ResponseStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/ResponseStream.java -------------------------------------------------------------------------------- /src/ex03/connector/ResponseWriter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/ResponseWriter.java -------------------------------------------------------------------------------- /src/ex03/connector/ServletProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/ServletProcessor.java -------------------------------------------------------------------------------- /src/ex03/connector/StaticResourceProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/StaticResourceProcessor.java -------------------------------------------------------------------------------- /src/ex03/connector/StringManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/StringManager.java -------------------------------------------------------------------------------- /src/ex03/connector/http/Constants.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/Constants.java -------------------------------------------------------------------------------- /src/ex03/connector/http/HttpConnector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/HttpConnector.java -------------------------------------------------------------------------------- /src/ex03/connector/http/HttpHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/HttpHeader.java -------------------------------------------------------------------------------- /src/ex03/connector/http/HttpProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/HttpProcessor.java -------------------------------------------------------------------------------- /src/ex03/connector/http/HttpRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/HttpRequest.java -------------------------------------------------------------------------------- /src/ex03/connector/http/HttpRequestLine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/HttpRequestLine.java -------------------------------------------------------------------------------- /src/ex03/connector/http/HttpResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/HttpResponse.java -------------------------------------------------------------------------------- /src/ex03/connector/http/RequestFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/RequestFacade.java -------------------------------------------------------------------------------- /src/ex03/connector/http/ResponseFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/ResponseFacade.java -------------------------------------------------------------------------------- /src/ex03/connector/http/SocketInputStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/http/SocketInputStream.java -------------------------------------------------------------------------------- /src/ex03/connector/startup/Boostrap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/src/ex03/connector/startup/Boostrap.java -------------------------------------------------------------------------------- /webroot/PrimitiveServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/webroot/PrimitiveServlet.class -------------------------------------------------------------------------------- /webroot/PrimitiveServlet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/webroot/PrimitiveServlet.java -------------------------------------------------------------------------------- /webroot/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/webroot/images/logo.gif -------------------------------------------------------------------------------- /webroot/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/HowTomcatWorks/HEAD/webroot/index.html --------------------------------------------------------------------------------