Перенаправление на URL-адрес с косой чертой в конце не происходит в Websphere 8.5.5

Есть приложение, работающее на WAS7. У него есть военный модуль, развернутый по контекстному пути «Foo / Bar» (составной). То есть военный модуль доступен по URL-адресу, например: localhost: 9080 / Foo / Bar.

Затем я развернул то же приложение на WAS 8.5.5. Попытка получить доступ к военному модулю с тем же URL-адресом localhost: 9080 / Foo / Bar (без завершающей косой черты) и получить "голую" страницу без извлечения файлов css и js. Однако, когда я пытаюсь получить доступ к модулю через следующий URL-адрес localhost: 9080 / Foo / Bar / (с завершающей косой чертой) css и js подбираются правильно.

Что мне удалось выяснить, так это то, что на WAS 7 все работало, потому что было перенаправление с URL без косой черты на URL с косой чертой в конце. И похоже, что это нормальное поведение http://webdesign.about.com/od/beginningtutorials/f/why-urls-end-in-slash.htm. Вопрос в том, почему у меня нет такого же поведения на WAS 8.5.5? Есть ли способ его настроить?


person Siarhei Vouchak    schedule 24.04.2014    source источник
comment
Свойство com.ibm.ws.webcontainer.removetrailingservletpathslash (как истина или ложь), как описано в pic.dhe.ibm.com/infocenter/wasinfo/v7r0/ также работает с Websphere 8.0 и, вероятно, в 8.5, но у меня нет сервера 8.5 для тестирования.   -  person Martin Baumgartner    schedule 30.04.2014
comment
Мартин, по некоторым причинам я не могу найти это свойство, перейдя по предоставленной вами ссылке, но я попытался на всякий случай добавить его со значениями false и true, но это не помогло с моей проблемой.   -  person Siarhei Vouchak    schedule 05.06.2014


Ответы (3)


Используйте задокументировано в Пользовательские свойства WAS9

com.ibm.ws.webcontainer.redirectcontextroot

Если установлено значение true, и делается запрос к корню контекста приложения с отсутствующей косой чертой в конце, WebContainer добавляет завершающую косую черту. WebContainer перенаправляет на URL-адрес с добавленной косой чертой, прежде чем он применит какие-либо фильтры сервлетов, определенные в приложении.

Например, запрос к http://host:port/contextRoot перенаправляется на http://host:port/contextRoot/ до применения каких-либо фильтров.

Имя: com.ibm.ws.webcontainer.redirectcontextroot, значение по умолчанию: false

person oallauddin    schedule 30.01.2018

Я потратил некоторое время на отладку классов Websphere и нашел одно свойство, которое, как мне кажется, является ответом на мой вопрос: com.ibm.ws.webcontainer.redirectcontextroot. Плохая новость в том, что я не могу найти упоминания об этом в документации, связанной с настраиваемыми свойствами WebContainer в Websphere.

Итак, теперь перенаправление работает так, как я ожидал, но меня смущает тот факт, что я использую некоторую недокументированную функцию ...

person Siarhei Vouchak    schedule 05.06.2014
comment
Не могли бы вы объяснить, как установить это свойство на WAS? - person sgargel; 06.06.2017

Думаю, это ошибка контейнера. Пожалуйста, проверьте ссылку ниже 404 НЕ НАЙДЕНА ОШИБКА, Сгенерированная для запроса без следящей косой черты

person Vahid    schedule 10.08.2016