2015-12-22 13 views
6

Może się mylę, ale do mojego zrozumienia, następujący musi być możliwe w JBoss Application Server:Jak mogę służyć zasobów statycznych spoza wojny na JBoss Application Server

Musi istnieć możliwość, aby umieścić link do moich JSF poglądów (czyli pliki xhtml) do zasobu (pdf, obraz, inny plik xhtml), który jest już na serwerze WildFly.

Mogę zrobić to samo w php i serwerze apache.

Gdzie muszę umieścić te zasoby i jak uzyskać do nich dostęp z moich widoków? E. g. umieść link w widoku do pliku pdf, który otwiera plik pdf w nowej karcie.

Wielkie dzięki za porady i wskazówki!

EDIT

standalone.xml

<server name="default-server"> 
    <http-listener name="default" socket-binding="http" max-post-size="974247881"/> 
    <host name="default-host" alias="localhost"> 
     <location name="/" handler="welcome-content"/> 
     <location name="/content" handler="ContentDir"/> 
     <filter-ref name="server-header"/> 
     <filter-ref name="x-powered-by-header"/> 
    </host> 
</server> 
<servlet-container name="default"> 
    <jsp-config/> 
    <websockets/> 
</servlet-container> 
<handlers> 
    <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/> 
    <file name="ContentDir" path="${jboss.home.dir}/standalone/data/unzipped" directory-listing="true"/> 
</handlers> 

ogniwem w widoku JSF

<h:outputLink value="http://localhost:8181/content">KLICK</h:outputLink> 

Kiedy klikam na ten temat, mam listę katalogów, jak pan powiedział.

Ale jak mogę to zrobić, aby index.xhtml w katalogu, który wskazuje content jest wyświetlany? Naprawdę tego chcę.

content punktów do ${jboss.home.dir}/standalone/data/unzipped, a w rozpakowanym znajduje się index.xhtml, a także inny folder z większą liczbą plików .xhtml.

W index.xhtml istnieją względne linki do .xhmtl plików w folderze:

<ul> 
    <li><a href="t/rt.html">hg</a></li> 
    <li><a href="t/tert.html">jghj</a></li> 
    <li><a href="t/gf.html">jghj</a></li> 
    <li><a href="t/hg.html">jghj</a></li> 
    <li><a href="t/hgfh.html">jghj</a></li> 
    <li><a href="t/hfgh.html">jhgj</a></li> 
    <li><a href="t/hfgh.html">jhgj</a></li> 
    <li><a href="t/hg.html">jghj</a></li> 
    <li><a href="t/hghh.html">jghj</a></li> 
</ul> 

chcę wyświetlić plik index.xhtml w unzipped i stamtąd przejść do innych .xhtml plików.

Coś takiego musi być możliwe, prawda?

Albo jak inaczej napisałbyś aplikację, w której użytkownik może przesyłać pliki html na serwer Java ee, a następnie wyświetlać te pliki?

Odpowiedz

11

Możesz nie chcieć wdrażać całej swojej statycznej zawartości w swojej aplikacji. Mogą to być obrazy, dokumenty PDF lub inne typy plików. Powinieneś skonfigurować Undertow, aby rozwiązać ten problem. Poniższy przykład pokazuje, jak to zrobić, konfigurując podsystem Undertow.

<server name="default-server"> 
    <http-listener name="default" socket-binding="http"/> 
    <host name="default-host" alias="localhost"> 
     <location name="/" handler="welcome-content"/> 
     <location name="/img" handler="images"/> 
    </host> 
</server> 
<handlers> 
    <file name="welcome-content" path="${jboss.home.dir}/welcome-content" directory-listing="false"/> 
    <file name="images" path="/var/images" directory-listing="true"/> 
</handlers> 

Dzięki tej dodatkowej konfiguracji, każdy wniosek o środki do www.sampledomain.com/contextroot/img zostanie przekierowany do systemu plików na dysku twardym. Jeśli oznaczysz atrybut "listing katalogu" jako false, wówczas żądania będą przekierowywane jako prawidłowo wyświetlany plik.

+0

W rzeczywistości chciałbym, aby użytkownicy mogli aktualizować zawartość statyczną w pliku zip, a następnie uzyskać do niej dostęp. Jeśli umieściłem moją statyczną zawartość w mojej aplikacji, wiem, jak to zrobić - po prostu umieszczam je w folderze Webapp. Tak więc, zgodnie z twoim rozwiązaniem, mógłbym umieścić link do mojego pliku widoku (.xhtml), który wskazuje na www.sampledomain.com/contextroot/somefile.xhtml? I w tym. Xhtmlfile mógłbym mieć linki do innych zasobów? – user3629892

+0

Twoje pytanie lub jego tytuł nie zawiera żadnych stwierdzeń dotyczących procesu aktualizacji, więc moja odpowiedź staje się prawdą. Myślę, że powinieneś edytować swoje pytanie, aby zapobiec złemu zrozumieniu. –

+0

Tak, twój komentarz jest prawidłowy. Twoje pliki .xhtml mogą wskazywać dowolny plik pdf, obraz lub inny plik xhtml, ale wskazane pliki będą wyświetlane jako system plików na dysku twardym. –

Powiązane problemy