Używaj rozszerzeń produktu WebSphere do definiowania odwzorowań katalogów wirtualnych

Odwzorowanie katalogu wirtualnego serwera WebLogic umożliwia aplikacji udostępnianie plików (takich jak obrazy lub pliki statyczne), które znajdują się poza katalogiem głównym dokumentów aplikacji. Do udostępniania tych plików można używać funkcji udostępniania plików produktu WebSphere. Ta reguła wykrywa obecność elementu <virtual-directory-mapping> w pliku weblogic.xml. Szybka poprawka jest dostępna w skanerze kodu źródłowego. Szybka poprawka pomaga utworzyć odpowiednie elementy <fileServingAttributes> w pliku rozszerzenia WWW tradycyjnego serwera WebSphere lub Liberty.

Na przykład plik weblogic.xml może zawierać następujące odwzorowania:

<virtual-directory-mapping>
<local-path>c:/usr/files</local-path>
<url-pattern>/images/*</url-pattern>
<url-pattern>*.jpg</url-pattern>
</virtual-directory-mapping>

Te same informacje można zdefiniować w ramach rozszerzeń WWW serwera WebSphere Application Server, tak jak to pokazano w następującym przykładzie:

<fileServingAttributes xmi:id ="FileServingAttribute_1" name="extendedDocumentRoot" value="c:/usr/files"/>
<fileServingAttributes xmi:id ="FileServingAttribute_2" name="file.serving.patterns.allow" value="/images/* *.jpg"/>

Atrybut udostępniania plików extendedDocumentRoot to łańcuch rozdzielany przecinkami, który określa wiele katalogów głównych znajdujących się poza modułem WWW aplikacji.

Atrybut udostępniania plików file.serving.patterns.allow to łańcuch rozdzielany spacjami, który określa wiele wzorców.

W przypadku udostępniania treści z aplikacji, których treść statyczna znajduje się w wielu położeniach, mogą wystąpić problemy. W przypadku serwera WebLogic każdy zdefiniowany element virtual-directory-mapping jest dostępny zarówno z kontekstowego katalogu głównego, jak i z położenia katalogu. W przypadku serwera WebSphere Application Server właściwość file.serving.patterns.allow ogranicza dostęp do treści statycznych, które są zgodne z podanymi wzorcami, w ramach rozszerzonego katalogu głównego dokumentów lub kontekstowego katalogu głównego.

W zależności od sposobu zorganizowania plików może być konieczne zmodyfikowanie wartości właściwości file.serving.patterns.allow. Na przykład kod:

<fileServingAttributes xmi:id ="FileServingAttribute_1" name="extendedDocumentRoot" value="/common/files"/>
<fileServingAttributes xmi:id ="FileServingAttribute_2" name="file.serving.patterns.allow" value="/images/*"/>

Jeśli w katalogu /common/files znajduje się katalog images, a w kontekstowym katalogu głównym znajduje się katalog /common/files/images, należy dodać wartość /common/files/images do wartości właściwości file.serving.patterns.allow.

<fileServingAttributes xmi:id ="FileServingAttribute_1" name="extendedDocumentRoot" value="/common/files"/>
<fileServingAttributes xmi:id ="FileServingAttribute_2" name="file.serving.patterns.allow" value="/images/* /common/files/images/*"/>

Na szerszy dostęp do plików można zezwolić przy użyciu ustawienia zaprezentowanego w poniższym przykładzie, ale użycie tego ustawienia może spowodować udostępnienie aplikacji większej ilości treści niż było to zamierzone.

<fileServingAttributes xmi:id ="FileServingAttribute_2" name="file.serving.patterns.allow" value="*"/>

Więcej informacji i przykłady można znaleźć w następujących artykułach: