2012-04-26 3 views
1

Мне нужно свойство alternatedocroot, чтобы мои загруженные изображения были вне каталога приложения. Я его правильно работать в GlassFish-web.xml, как это:glassfish-web.xml vs domain.xml for alternatedocroot

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <context-root>/</context-root> 
    <property name="alternatedocroot_1" value="from=/uploads/* dir=c:/development/mm_uploads" description="Uploaded Images"/> 
</glassfish-web-app> 

Моя проблема с этой реализации является то, что я бы этот файл разрегистрация в кодовую, который не будет работать хорошо, когда buildling войну за другие среды (разные пути пути).

Я пробовал поместить в domain.xml (считая, что это будет конкретный сервер, а не в кодовой базе), но не смог заставить его работать. Я ставлю его дочерью домена, но не повезло. Нет ошибок, это просто не сработало.

Любые идеи? Я должен иметь возможность использовать тот же параметр свойства в domain.xml, правильно?

Если это плохая практика, существуют ли другие альтернативы?

Заранее спасибо.

+1

Нету, альтернативный сделать croot является свойством веб-приложения, а не сервера, поэтому он не будет работать в любом другом файле. – JoseK

+0

Будьте осторожны, чтобы оставить область «default-web-module» EMPTY! – user2758527

ответ

1

В моем случае я не мог получить glassfish-web.xml alternatedocroot_n для работы. Тем не менее, когда я помещаю ту же запись в domain.xml, используя «Виртуальные серверы» консоли администратора Glassfish -> Дополнительные свойства сервера, alternatedocroot_n работал немедленно. (после перезапуска сервера). FYI: Я пытался использовать символическую ссылку, но это не сработало.

Я использую Glassfish 3.1.2, работающий на Linux 5. Альтернативный элемент указывает на библиотеку ExtJs 4.0.7.

domain.xml:

<virtual-server id="server" network-listeners="http-listener-1,http-listener-2"> 
     <property name="alternatedocroot_1" value="from=/extjs.4.0.7/* dir=/usr/lib/js"></property> 
    </virtual-server> 

Это соответствует /usr/lib/js/extjs.4.0.7/...

Надеется, что это помогает кто-то ..

index.jsp:

<link rel="stylesheet" type="text/css" href="/extjs.4.0.7/resources/css/ext-all.css"> 
<script type="text/javascript" src="/extjs.4.0.7/ext-all-debug.js"></script> 
Смежные вопросы