├── .gitignore ├── README.md ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── light │ │ ├── Main.java │ │ ├── controller │ │ ├── IndexController.java │ │ └── StaticFileController.java │ │ ├── http │ │ ├── HttpHeader.java │ │ ├── HttpMethod.java │ │ ├── HttpStatus.java │ │ ├── HttpVersion.java │ │ ├── MimeTypes.java │ │ ├── RequestHandler.java │ │ ├── exceptions │ │ │ ├── IllegalRequestException.java │ │ │ └── ServerInternalException.java │ │ ├── requests │ │ │ ├── MimeData.java │ │ │ ├── Request.java │ │ │ ├── RequestBody.java │ │ │ ├── RequestHeader.java │ │ │ ├── RequestLine.java │ │ │ └── RequestParser.java │ │ └── responses │ │ │ ├── FileResponse.java │ │ │ ├── JsonResponse.java │ │ │ ├── NotFoundResponse.java │ │ │ ├── Response.java │ │ │ ├── ServerInternalErrorResponse.java │ │ │ └── StatusLine.java │ │ ├── io │ │ ├── Server.java │ │ ├── ServerContext.java │ │ └── ThreadPool.java │ │ ├── mvc │ │ ├── ControllerMethod.java │ │ ├── ControllerScan.java │ │ └── annotations │ │ │ ├── Controller.java │ │ │ ├── FormParam.java │ │ │ ├── MultiPartData.java │ │ │ ├── QueryParam.java │ │ │ └── WebPath.java │ │ └── util │ │ ├── BytesUtil.java │ │ ├── FileUtil.java │ │ ├── PropertiesUtil.java │ │ ├── ReflectUtil.java │ │ ├── Static.java │ │ └── TimeUtil.java └── resources │ ├── logback.xml │ ├── mime.properties │ ├── pages │ ├── 404.html │ └── index.html │ ├── settings.properties │ └── static │ ├── a.jpg │ └── a.png └── test └── java ├── HelloWorldController.java └── TestParseRequestBody.java /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | target/ 3 | LightWebServer.iml 4 | logs -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/README.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/light/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/Main.java -------------------------------------------------------------------------------- /src/main/java/com/light/controller/IndexController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/controller/IndexController.java -------------------------------------------------------------------------------- /src/main/java/com/light/controller/StaticFileController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/controller/StaticFileController.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/HttpHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/HttpHeader.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/HttpMethod.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/HttpMethod.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/HttpStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/HttpStatus.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/HttpVersion.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/HttpVersion.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/MimeTypes.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/MimeTypes.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/RequestHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/RequestHandler.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/exceptions/IllegalRequestException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/exceptions/IllegalRequestException.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/exceptions/ServerInternalException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/exceptions/ServerInternalException.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/requests/MimeData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/requests/MimeData.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/requests/Request.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/requests/Request.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/requests/RequestBody.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/requests/RequestBody.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/requests/RequestHeader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/requests/RequestHeader.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/requests/RequestLine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/requests/RequestLine.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/requests/RequestParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/requests/RequestParser.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/responses/FileResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/responses/FileResponse.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/responses/JsonResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/responses/JsonResponse.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/responses/NotFoundResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/responses/NotFoundResponse.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/responses/Response.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/responses/Response.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/responses/ServerInternalErrorResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/responses/ServerInternalErrorResponse.java -------------------------------------------------------------------------------- /src/main/java/com/light/http/responses/StatusLine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/http/responses/StatusLine.java -------------------------------------------------------------------------------- /src/main/java/com/light/io/Server.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/io/Server.java -------------------------------------------------------------------------------- /src/main/java/com/light/io/ServerContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/io/ServerContext.java -------------------------------------------------------------------------------- /src/main/java/com/light/io/ThreadPool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/io/ThreadPool.java -------------------------------------------------------------------------------- /src/main/java/com/light/mvc/ControllerMethod.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/mvc/ControllerMethod.java -------------------------------------------------------------------------------- /src/main/java/com/light/mvc/ControllerScan.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/mvc/ControllerScan.java -------------------------------------------------------------------------------- /src/main/java/com/light/mvc/annotations/Controller.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/mvc/annotations/Controller.java -------------------------------------------------------------------------------- /src/main/java/com/light/mvc/annotations/FormParam.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/mvc/annotations/FormParam.java -------------------------------------------------------------------------------- /src/main/java/com/light/mvc/annotations/MultiPartData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/mvc/annotations/MultiPartData.java -------------------------------------------------------------------------------- /src/main/java/com/light/mvc/annotations/QueryParam.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/mvc/annotations/QueryParam.java -------------------------------------------------------------------------------- /src/main/java/com/light/mvc/annotations/WebPath.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/mvc/annotations/WebPath.java -------------------------------------------------------------------------------- /src/main/java/com/light/util/BytesUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/util/BytesUtil.java -------------------------------------------------------------------------------- /src/main/java/com/light/util/FileUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/util/FileUtil.java -------------------------------------------------------------------------------- /src/main/java/com/light/util/PropertiesUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/util/PropertiesUtil.java -------------------------------------------------------------------------------- /src/main/java/com/light/util/ReflectUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/util/ReflectUtil.java -------------------------------------------------------------------------------- /src/main/java/com/light/util/Static.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/util/Static.java -------------------------------------------------------------------------------- /src/main/java/com/light/util/TimeUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/java/com/light/util/TimeUtil.java -------------------------------------------------------------------------------- /src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/resources/logback.xml -------------------------------------------------------------------------------- /src/main/resources/mime.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/resources/mime.properties -------------------------------------------------------------------------------- /src/main/resources/pages/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/resources/pages/404.html -------------------------------------------------------------------------------- /src/main/resources/pages/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/resources/pages/index.html -------------------------------------------------------------------------------- /src/main/resources/settings.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/resources/settings.properties -------------------------------------------------------------------------------- /src/main/resources/static/a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/resources/static/a.jpg -------------------------------------------------------------------------------- /src/main/resources/static/a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/main/resources/static/a.png -------------------------------------------------------------------------------- /src/test/java/HelloWorldController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/test/java/HelloWorldController.java -------------------------------------------------------------------------------- /src/test/java/TestParseRequestBody.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liujunlingx/LightWebServer/HEAD/src/test/java/TestParseRequestBody.java --------------------------------------------------------------------------------