Справка Eclipse приложения RAP 2.0 не работает с WebSphere 8.5.5.0
проблема
Насколько я понимаю, в RAP каждый запрос сервлета должен проходить через мост сервлета Equinox. Это включает в себя страницы справки, которые являются файлами JSP внутри плагина org.eclipse.help.webapp.
У меня есть следующее сопоставление сервлетов в Web.xml:
<servlet-mapping>
<servlet-name>equinoxbridgeservlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Если я разверну свое приложение в веб-сфере, я не смогу открыть справку и получу эту ошибку:
Кажется, что WebSphere просто игнорирует мою волю, что я хочу обработать даже URL-адрес "/index.jsp" с сервлетом равноденствия.
Уже пробовал
Я попробовал настраиваемое свойство web-контейнера com.ibm.ws.webcontainer.enableJspMappingOverride, но это не помогло.
В документации указано:
Когда шаблон url определен в jsp-property-group файла web.xml, он обычно отображается и обрабатывается механизмом JavaServer Page (JSP). Если у вас есть приложения, которые должны переопределить это отображение, чтобы они могли обрабатывать и обслуживать контент JSP самостоятельно, установите для свойства com.ibm.ws.webcontainer.enableJspMappingOverride значение true.
Я также добавил следующий фрагмент в веб-XML, но это также не помогло:
<jsp-config>
<jsp-property-group>
<description>Enables using help webapp JSP pages with Websphere</description>
<url-pattern>*.jsp</url-pattern>
</jsp-property-group>
</jsp-config>
Есть ли у вас какие-либо идеи, как заставить WebSphere оставлять мои запросы только с URL-адресами *.jsp и позволить мосту равноденствия выполнять свою работу?
1 ответ
Кажется, что пользовательское свойство необходимо, но недостаточно. Мне нужно дополнительное отображение сервлета, как описано здесь.
Таким образом, отображение должно выглядеть так:
<servlet-mapping>
<servlet-name>equinoxbridgeservlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>equinoxbridgeservlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>