1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/94fzb-simplewebserver

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Простой веб-сервер

Простой веб-сервер — это легковесный открытый веб-приложение сервер, написанный на Java с использованием NIO.

Если вы когда-либо хотели создать небольшое веб-приложение, но откладывали это из-за сложностей установки Java-окружения, то теперь у вас есть ещё один выбор помимо Spring Boot.

Легковесность

Не основан на servletах, количество исходного кода составляет около 3000 строк, размер jar-файла — примерно 0,1 мегабайта, нет зависимостей, отсутствие XML, минимальное потребление памяти, что позволяет использовать его даже на устройствах с ограниченными ресурсами (например, Raspberry Pi или Android).

Полностью функционален

Поддерживает cookies, interceptors, JSON, шаблоны, загрузку файлов, а также базовые часто используемые API, что делает разработку веб-приложений более простым процессом.

Быстрый старт

Запросы, ответы, контроллеры, interceptors — всё знакомо и удобно.

<dependency>
    <groupId>com.hibegin</groupId>
   <artifactId>simplewebserver</artifactId>
    <version>0.2.42</version>
</dependency>
public class DemoController extends Controller {

    public static void main(String[] args) {
        ServerConfig serverConfig = new ServerConfig();
        serverConfig.getRouter().addMapper("", DemoController.class);
        new WebServerBuilder.Builder().serverConfig(serverConfig).build().startWithThread();
    }

    public void index() {
        getResponse().renderText("Привет мир/" + ServerInfo.getVersion());
    }
}

Откройте браузер и введите адрес http://localhost:6058.### Упаковка

Рекомендуется использовать плагин maven-assembly-plugin

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.5.5</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.hibegin.http.server.test.DemoController</mainClass>
                    </manifest>
                </archive>
                <finalName>simplewebserver-demo</finalName>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
    </plugins>
</build>

Выполните команду mvn clean compile assembly:single.

Высокая производительность

Сравнение с "performant tio", который ограничен пропускной способностью сети, доступно по ссылке https://gitee.com/94fzb/simplewebserver-performance.

Журнал изменений

полный журнал изменений

TODO

  • Поддержка базового протокола HTTP/2.0 (без серверной поддержки)
  • Реализация многопоточного декодирования HTTP-запросов
  • Предоставление возможности создания RESTful API с использованием аннотаций, аналогично SpringMVC
  • Предоставление нескольких JSON-библиотек сериализации
  • Предоставление конфигурации ошибочных страниц по HTTP-кодам

Другое* По умолчанию порт веб-сервера равен 6058, указан в файле conf/conf.properties либо может быть настроен через код.

  • Инициализация корневого каталога шаблонов с помощью FreeMarkerKit.init, инициализация относительного корневого каталога шаблонов внутри JAR с помощью FreeMarkerKit.initClassTemplate.
  • При запуске на сервере рекомендуется использовать JAR-файл (рекомендовано использование Maven, путь к JAR-файлу совпадает с путём к директории conf).
  • В зависимости от проекта используются библиотеки JSON и FreeMarker, но они не являются обязательными.## Лицензия

SimpleWebServer — это программное обеспечение с открытым исходным кодом, выпущенное под лицензией Apache 2.0.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

SimpleWebServer — это ультралёгкий open-source веб-сервер приложений, написанный на Java с использованием NIO. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/94fzb-simplewebserver.git
git@api.gitlife.ru:oschina-mirror/94fzb-simplewebserver.git
oschina-mirror
94fzb-simplewebserver
94fzb-simplewebserver
master