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

OSCHINA-MIRROR/bluejoe-elfinder-2.x-servlet

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

Что такое elfinder-2.x-servlet?

elfinder-2.x-servlet реализует Java-сервлет для коннектора elfinder-2.x.

Elfinder — это файловый менеджер с открытым исходным кодом для веб, написанный на JavaScript с использованием jQuery и jQuery UI. См. также http://elfinder.org.

Для пользователей elfinder-1.2 перейдите по ссылке: https://github.com/Studio-42/elfinder-servlet.

Импорт elfinder-2.x-servlet

Этот проект выпущен как артефакт в центральном репозитории.

Используйте следующую команду, чтобы добавить зависимость в ваш pom.xml:

<dependency>
    <groupId>com.github.bluejoe2008</groupId>
    <artifactId>elfinder-servlet-2</artifactId>
    <version>1.1</version>
    <classifier>classes</classifier>
</dependency>

Сборка elfinder-2.x-servlet

Исходные файлы включают:

  • src/main/webapp: обычное J2EE-приложение, включающее elfinder, WEB-INF и т. д.
  • src/main/java: исходные коды для elfinder-servlet
  • src/main/resources: исходные коды для elfinder-servlet

Чтобы собрать этот проект с помощью Maven, выполните:

mvn install

Чтобы запустить этот проект в контейнере Jetty, используйте:

mvn jetty:run

Использование elfinder-2.x-servlet в ваших веб-приложениях

Просто используйте следующие команды, чтобы указать elfinder подключиться к серверному сервлету:

    <script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
            $('#elfinder').elfinder({
                url : 'elfinder-servlet/connector',
            });
        });
    </script>

В вашем web.xml добавьте следующие строки, чтобы включить сервлет:

<servlet>
    <servlet-name>elfinder</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>elfinder</servlet-name>
    <url-pattern>/elfinder-servlet/*</url-pattern>
</servlet-mapping>

Да! Elfinder-2.x-servlet разработан на основе SpringFramework (http://springframework.org).

Пример конфигурации elfinder-servlet.xml показан ниже:

<!-- find appropriate  command executor for given command-->
<bean id="commandExecutorFactory"
    class="cn.bluejoe.elfinder.controller.executor.DefaultCommandExecutorFactory">
    <property name="classNamePattern"
        value="cn.bluejoe.elfinder.controller.executors.%sCommandExecutor" />
    <property name="map">
        <map>
        <!-- 
            <entry key="tree">
                <bean class="cn.bluejoe.elfinder.controller.executors.TreeCommandExecutor" />
            </entry>
        -->
        </map>
    </property>
</bean>

<!-- FsService is often retrieved from HttpRequest -->
<!-- while a static FsService is defined here -->
<bean id="fsServiceFactory" class="cn.bluejoe.elfinder.impl.StaticFsServiceFactory">
    <property name="fsService">
        <bean class="cn.bluejoe.elfinder.impl.DefaultFsService">
            <property name="serviceConfig">
                <bean class="cn.bluejoe.elfinder.impl.DefaultFsServiceConfig">
                    <property name="tmbWidth" value="80" />
                </bean>
            </property>
            <property name="volumeMap">
                <!-- two volumes are mounted here -->
                <map>
                    <entry key="A">
                        <bean class="cn.bluejoe.elfinder.localfs.LocalFsVolume">
                            <property name="name" value="MyFiles" />
                            <property name="rootDir" value="/tmp/a" />
                        </bean>
                    </entry>
                    <entry key="B">
                        <bean **Класс «cn.bluejoe.elfinder.localfs.LocalFsVolume»**

bean-компонент завершается.



Класс «cn.bluejoe.elfinder.impl.FsSecurityCheckerChain»

* * *

Класс «cn.bluejoe.elfinder.impl.FsSecurityCheckFilterMapping»

* * *

Класс «cn.bluejoe.elfinder.impl.FsSecurityCheckForAll»


Класс «cn.bluejoe.elfinder.impl.FsSecurityCheckFilterMapping»

* * *

Класс «cn.bluejoe.elfinder.impl.FsSecurityCheckForAll»


bean-компонент завершается.


Для пользователей, которые не используют spring framework, предоставляется ConnectorServlet:

<servlet-name>elfinder-connector-servlet</servlet-name>
<servlet-class>cn.bluejoe.elfinder.servlet.ConnectorServlet</servlet-class>

<servlet-name>elfinder-connector-servlet</servlet-name>
<url-pattern>/elfinder-servlet/connector</url-pattern>

Если вы хотите настроить поведение ConnectorServlet (см. https://github.com/bluejoe2008/elfinder-2.x-servlet/blob/0.9/src/main/java/cn/bluejoe/elfinder/servlet/ConnectorServlet.java), вам может потребоваться создать производный класс сервлета на основе ConnectorServlet.

Особенности

  • Простота использования: просто определите сервлет в вашем web.xml или настройте XML-файл в формате Spring IOC и запустите веб-приложение.
  • Лёгкость импорта: предоставляется артефакт на центральном репозитории, используйте Maven для управления зависимостями.
  • Логические представления файлов: локальная файловая система не требуется, вы можете определить свой FsService.
  • Возможность персонализации: разные представления файлов разрешены для разных пользователей, просто предоставьте пользовательский FsServiceFactory.
  • Легкость модификации и расширения: предоставьте собственные CommandExecutors для реагирования на новые команды.

Команды, CommandExecutor, CommandExecutorManager

В elfinder-2.x-servlet реализованы команды управления файлами, включая:

DIM, DUPLICATE, FILE, GET, LS, MKDIR, MKFILE, OPEN, PARENT, PASTE, PUT, RENAME, RM, SEARCH, SIZE, TMB, TREE, UPLOAD (поддерживается CHUNK).

Каждая команда соответствует классу CommandExecutor. Например, команда TREE реализована классом TreeCommandExecutor (см. https://github.com/bluejoe2008/elfinder-2.x-servlet/src/main/java/cn/bluejoe/elfinder/controller/executors/TreeCommandExecutor.java). Пользователи могут изменять существующий класс или расширять новый класс исполнителя, следуя этому правилу именования.

Кроме того, это правило можно даже изменить, установив commandExecutorFactory в elfinder-servlet.xml, в котором... Завод по умолчанию — это DefaultCommandExecutorFactory (см. https://github.com/bluejoe2008/elfinder-2.x-servlet/src/main/java/cn/bluejoe/elfinder/controller/executor/DefaultCommandExecutorFactory.java).

CommandExecutorFactory указывает, как найти исполнителя команды (например, TreeCommandExecutor) по заданному имени команды («TREE», например), он разработан как интерфейс:

public interface CommandExecutorFactory
{
    CommandExecutor get(String commandName);
}

FsItem, FsVolume, FsService, FsServiceFactory

Каждый файл представлен как FsItem. А корень файла представлен как FsVolume. FsVolume определяет отношения родитель-потомок между всеми FsItems и реализует все операции с файлами (например, создание/удаление).

У FsService может быть много FsVolumes. Пользователи могут создать FsService через FsServiceFactory:

public interface FsServiceFactory
{
    FsService getFileService(HttpServletRequest request, ServletContext servletContext);
}

Простой (и глупый) StaticFsServiceFactory предоставляется в https://github.com/bluejoe2008/elfinder-2.x-servlet/src/main/java/cn/bluejoe/elfinder/impl/StaticFsServiceFactory.java, который всегда возвращает фиксированный FsService независимо от того, что запрашивается. Однако иногда FsService должен создаваться динамически в соответствии с текущим веб-запросом. Например, пользователи могут владеть отдельными файловыми пространствами на платформе сетевого дискового сервиса, в этом случае getFileService() получает принципала пользователя из текущего запроса и предлагает ему/ей другой вид файла.

Создание релиза

Чтобы разработчик мог сделать релиз, им необходимо настроить учетную запись и использовать Sonatype, а также иметь ключ PGP для подписания релиза. Более подробную информацию можно найти по адресу: http://central.sonatype.org/pages/apache-maven.html

Затем, чтобы сделать релиз, вы сначала помечаете версию и отправляете её на GitHub:

mvn release:clean release:prepare

и если всё пройдёт хорошо, то вы можете выпустить фактический артефакт на основе тега:

mvn release:perform

Это разместит артефакт на серверах Sonatype, после чего он будет проверен, и если всё в порядке, вы сможете его выпустить: http://central.sonatype.org/pages/releasing-the-deployment.html

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

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

Введение

Известный веб-файловый менеджер **Elfinder** имеет Java-бэкенд, который поддерживает **настраиваемые представления файлов** и **пользовательские операции с файлами**. Развернуть Свернуть
BSD-2-Clause
Отмена

Обновления

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

Участники

все

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

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