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

OSCHINA-MIRROR/zhiqim-zhiqim_httpd

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

Что такое «Zhiqim Web Container»?

«Zhiqim Web Container (zhiqim_httpd)» — это многоэкземплярное веб-приложение, разработанное в рамках Zhiqim Development Kit. Оно предоставляет более простую конфигурацию, модульную структуру компонентов и естественный дизайн шаблонов, что делает его подходящим для различных сценариев использования: от крупных кластеров с балансировкой нагрузки до небольших проектов с компонентными шаблонами и микросервисных HTTP/веб-сервисов.

Преимущества Zhiqim Web Container:

  1. ZhiqimHttpd зависит только от JDK 1.7+ и ZhiqimKernel, а также ZhiqimZML. 15 лет самостоятельного развития и инноваций делают его надёжным решением.
  2. Это облегчённый веб-контейнер на чистом Java, который превосходит Tomcat/Jetty по производительности. Он наследует простоту конфигурации и многоэкземплярность от ZhiqimKernel.
  3. Отказавшись от стандартов Servlet/JSP, ZhiqimWeb Container предлагает инновационную модель веб-контейнера, основанную на ZhiqimKernel/ZhiqimZML, и интегрирует MVC/MVP архитектуру, упрощая изучение многих фреймворков.
  4. На этапе разработки и отладки можно использовать ZhiqimKernel для запуска сервиса без необходимости в Tomcat/Jetty и других контейнерах, что упрощает настройку в ZhiqimStudio/Eclipse.
  5. После сборки проекта можно использовать ZhiqimKernel для настройки запуска, требуя только указать путь к JRE, что снижает сложность изучения и развёртывания по сравнению с Tomcat/Jetty/Jboss и другими.
  6. Самостоятельно разработанная модульная структура компонентов предлагает разработку компонентов, включающих базы данных, страницы и функции, обеспечивая более глубокую модульность и делая возможным создание сложных проектов из блоков.
  7. Подходит для сложных сценариев развёртывания, включая многопортовое прослушивание, множественные конфигурации сервисов, виртуальные каталоги и балансировку нагрузки, а также кластерные решения (Nginx + Zhiqim Web Container Cluster + Redis).
  8. Оптимальное решение для встраиваемых веб-разработок, превосходящее встроенный Http Server JDK по функциональности и Jetty и другие контейнеры по лёгкости и простоте. Поддерживает два подхода к настройке: аннотации и ограничения.
  9. Совместимость с контейнерами Servlet, легко адаптируется к Tomcat/Jboss через zhiqim_servlet.jar, минимизируя влияние на миграцию проектов.

Структура каталога Zhiqim Web Project

Для получения дополнительной информации и примера проекта рекомендуется посетить официальный сайт Zhiqim.org.

Краткая конфигурация Zhiqim Web Container

Конфигурация Zhiqim Web Container включает три основных шага:

  1. В файле [./conf/zhiqim.xml] в разделе [config] добавьте ключ «httpd» со значением «./conf/httpd.xml».
  2. В том же файле в разделе [service] настройте ключ «httpd», указав значение «org.zhiqim.httpd.HttpServer».
  3. В файле [./conf/httpd.xml] настройте проект [httpd], включая конфигурацию прослушивания и среды верхнего и нижнего уровня.

Пример конфигурации:

[./conf/zhiqim.xml]:

<group id="config" desc="系统其他配置文件,./开头表示工程相对路径下,绝对路径使用/或d:/等(Windows也使用顺斜杠作路径)">
    <item key="httpd" value="./conf/httpd.xml" update="false" desc="日志配置文件"/>
</group>

<group id="service" desc="系统服务配置,有依赖时注意顺序,系统按顺序加载,按倒序销毁">
    <item key="httpd" value="org.zhiqim.httpd.HttpServer" update="false" desc="HTTP服务"/>
</group>

[./conf/httpd.xml]:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ZHIQIM-CONFIG PUBLIC "-//ZHIQIM //DTD Zhiqim-Config Configuration 1.4.0//EN" "http://zhiqim.org/xmldtds/zhiqim_config_1_4_0.dtd">
<zhiqim-config>

    <group id="httpd" desc="HTTP服务">
        <item key="listen" value="httpd.listen" update="false" desc="HTTP服务的监听器" />
        <item key="context" value="httpd.root" update="false" desc="HTTP服务下包括的上下文环境,多个用逗号隔开" />
    </group>
    
    <group id="httpd.listen" desc="HTTP监听器">
        <item key="scheme" value="HTTP" update="false" desc="HTTP或HTTPS协议" />
        <item key="port" value="80" update="false" desc="监听端口" />
        <item key="minPoolSize" value="5" update="false" desc="HTTP处理线程池最小值" />
        <item key="maxPoolSize" value="10" update="false" desc="HTTP处理线程池最大值" />
    </group>
        
    <group id="httpd.root" desc="HTTP根上下文环境">
        <item key="path" value="/" update="false" desc="上下文环境路径,必填" />
        <item key="resourceType" value="directory" update="false" desc="资源目录类型classpath|directory,无资源时可不配置" />
        <item key="resourcePath" value="./resource" update="false" desc="资源目录,无资源时可不配置" />
        <item key="welcomeUrl" value="/index.htm" update="false" desc="欢迎页,无资源时可不配置,/开头" />
    </group>

</zhiqim-config> value="org.zhiqim.example.gbook.Bootstrap"/>

    <!-- 拦截器 -->
    <interceptor name="Проверка администратора, является ли он авторизованным" key="chkLogin" class="org.zhiqim.example.gbook.interceptor.ChkAdminLogin"/>
    
    <!-- sessionUser-->
    <sessionUser name="Фронтенд" path="*" class="org.zhiqim.example.gbook.SessionUser" />
    
    <!-- Визитерская часть -->
    <action name="Главная страница" path="/index.htm" view="/zview/index.zml" class="org.zhiqim.example.gbook.action.IndexAction"/>
    <action name="Оставить сообщение" path="/leaveMessage.htm" view="/zview/leaveMessage.zml" redirect="/index.htm" class="org.zhiqim.example.gbook.action.LeaveMessageAction"/>

    <!-- Администраторская часть -->
    <action name="Вход администратора" path="/adminLogin.htm" view="/zview/adminLogin.zml" redirect="/adminList.htm" class="org.zhiqim.example.gbook.action.AdminLoginAction"/>
    <action name="Выход администратора" path="/adminLogout.htm" redirect="/index.htm" class="org.zhiqim.example.gbook.action.AdminLogoutAction"/>

    <action name="Домашняя страница администратора" interceptor="chkLogin" path="/adminList.htm" view="/zview/adminList.zml" class="org.zhiqim.example.gbook.action.AdminListAction"/>
    <action name="Ответ администратора на оставленное сообщение" interceptor="chkLogin" path="/adminReply.htm" view="/zview/adminReply.zml" redirect="/adminList.htm" class="org.zhiqim.example.gbook.action.AdminReplyAction"/>
    <action name="Удаление администратором оставленного сообщения" interceptor="chkLogin" path="/adminDelete.htm" redirect="/adminList.htm" class="org.zhiqim.example.gbook.action.AdminDeleteAction"/>
</zhiqim-context>

知启蒙技术框架 и общение


知启蒙技术框架 архитектура

QQ группа: чтобы присоединиться к группе для общения в QQ, нажмите 【458171582】

Учебное пособие: если вы хотите узнать больше о веб-контейнере 知启蒙, 【нажмите здесь】

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

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

Введение

Описание недоступно Развернуть Свернуть
MulanPSL-2.0
Отмена

Обновления

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

Участники

все

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

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