GitHunt
AL

alexbumbacea/webserver-java

Features

  • supported method GET and HEAD
  • static file delivery
  • access log / error log
  • streams support for large files
  • dynamic pages trough extending "AbstractController" class

Usage

Configuration

You can configure port and path for checking for files

Config serverConfig = new Config();
serverConfig.setPort(8080);
serverConfig.setPath("/tmp");
Webserver server = new Webserver(serverConfig);

Configure number of workers

Config.POOL_SIZE (default is 20)

Configure timeout on socket

Config.HTTP_SOCKET_TIMEOUT (default is 5000 in MS)

Load dynamic pages

serverConfig.addMapping("GET", "/test.dynamic", new SampleController());

Configure logger

Edit the file "logger.properties" according to the documentation from here https://docs.oracle.com/cd/E19717-01/819-7753/gcblo/

Build

mvn clean package

Test

For the test component apache http client is used
in order to simulate the protocol from an external client

mvn clean test

Run

java -jar target/web-1.0-SNAPSHOT.jar "<folder>" <port>

Languages

Java100.0%

Contributors

Created August 21, 2016
Updated July 2, 2024
alexbumbacea/webserver-java | GitHunt