Что такое 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
Исходные файлы включают:
Чтобы собрать этот проект с помощью 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.
Особенности
Команды, 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. 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 )