Наличие двух разных сервлетов, сопоставленных по одному шаблону URL

Я столкнулся с проектом J2EE, написанным другими. Когда я прихожу к web.xmlЕсть два разных сервлета, сопоставленных на одном шаблоне URL. Интересно, цель этого подхода. Как именно это работает и какова цель?

Вот соответствующая часть web.xml:

<servlet>
    <servlet-name>fileDownload</servlet-name>
    <servlet-class>com.htsoft.core.web.servlet.FileDownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>fileDownload</servlet-name>
    <url-pattern>/file-download</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>fileDownLoad</servlet-name>
    <servlet-class>com.kaiwii.oa.action.system.FileDownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>fileDownLoad</servlet-name>
    <url-pattern>/file-downLoad</url-pattern>
</servlet-mapping>  

1 ответ

Решение

Будет вызван только один сервлет; нет механизма, который мне известен для обработки одного запроса с двумя сервлетами (и я не уверен, что это могло бы вообще значить).

Шаблоны URL сервлетов могут перекрываться, но иметь два одинаковых URL не имеет смысла. Я не помню, если спецификация сервлета явно запрещает это, однако сопоставление останавливается при первом сопоставлении. Метод сопоставления определен в спецификации.

Servlet 2.4 spec PDF См. Стр. 85+

Другие вопросы по тегам