Websphere не използва списък с приветстващи файлове след съпоставяне на *.html към сървлет

Използвам IBM WebSphere (WAS) 7.0.0.19 за хостване на уеб-приложение, базирано на java, и трябваше да съпоставя разширението *.html към конкретен сървлет, за да мога да направя известно пречистване от страна на сървъра на предоставен от потребителя HTML файлове. (Сървърът чете файла, допълва го с допълнителна информация и показва промененото съдържание прозрачно на лицето, което преглежда страницата.)

За съжаление, когато направих това, файловете за добре дошли спряха да работят. Преди, ако въвеждах URL адреса за директория, сървърът търсеше index.html и го сервираше. Сега просто получавам 403 забранено правило („Забранено – по правило.“). Регистрационните файлове за достъп не показват нищо повече - те просто заявяват, че индексирането на директория е забранено от правило за сървъра, което е правилно. Не искам уеб сървърът да създава съдържание за директории без index.html, но когато има index.html, искам той да обслужва този файл.

Първата ми мисъл беше, че се опитва да обслужи index.html чрез моя сервлет, сървлетът не успяваше да намери файла (защото в url липсваше „index.html“) и затова смяташе, че няма index.html. Въпреки това, аз поставих някакъв код за отстраняване на грешки и съм напълно уверен, че кодът на сървлета никога не се изпълнява, когато отида просто в самата директория.

Наистина не ме интересува дали index.html се обслужва чрез сървлета или не - в случая с този конкретен файл, сервлетът просто ще изплюе обратно оригиналния файл така или иначе. Просто искам index.html да се обслужва от нещо.

Ето съответния раздел от моя web.xml

<servlet-mapping>
    <servlet-name>PageScrubber</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>        

<welcome-file-list>         
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

Колкото и да си струва, index.htm и index.jsp не работеха преди добавянето на съпоставянето на сървлета. Преди работеше само index.html. Сега обаче никой от тях не работи.

Използвал съм същия web.xml с два продукта на Oracle: WebLogic (WLS) и Oracle Application Server (OAS) без проблеми.

Напълно съм убеден, че просто добавянето на този сървлет за почистване е причинило проблема, защото премахването на тази директива накара индексирането на директории да започне да работи отново.

Намерих някои бележки за това, че списъкът с добре дошли файлове не работи при използване на разширен корен на документ и се опитах да настроя com.ibm.ws.webcontainer.EnablePartialURLtoExtendedDocumentRoot да бъде вярно, но това изглежда не промени нищо.

Доста съм без идеи. Някой има ли някакви мисли защо не намира моя index.html? Благодаря предварително!


person mikepr    schedule 05.07.2012    source източник
comment
Още една информация, която да добавя: Опитах се да променя реда на записите във ‹welcome-file›, за да поставя index.htm най-отгоре. След като направи това, уеб сървърът все още не успя да намери index.htm, въпреки че не трябва да съответства на заместващия знак.   -  person mikepr    schedule 06.07.2012
comment
Опитвали ли сте да премахнете списъка с добре дошли (не е задължително според схемата web.xml), оставяйки само сървлета на скрубера? Това -може- да накара заявката да бъде насочена към сървлета, тъй като той остава единствената валидна цел за .html съпоставянето сега.   -  person Kurtcebe Eroglu    schedule 06.07.2012
comment
Благодаря за предложенията. Опитах се да премахна списъка с добре дошли файлове и пак не работи. И аз нямах късмет на авенюто, което предложи Манглу. Все още преследвам проблема и ще публикувам всички резултати, които мога да постигна.   -  person mikepr    schedule 12.07.2012


Отговори (1)


Предупреждение: Тук работя без памет.

Приветстващите файлове се обслужваха от File Servlet Servlet (или нещо, което звучи подобно на това).

Тази информация ще бъде във файла с разширения на WebSphere.

Бих направил крачка назад и бих премахнал вашия pageScrubber и бих накарал сървъра, обслужващ файлове, да обслужва приветстващите файлове и да видя дали нещата работят, преди да се върна към използването на PageScrubber.

Това са първоначалните ми мисли.

HTH

person Manglu    schedule 06.07.2012