Отображение сервлетов в Apache Tomcat 6.0.20
Я не уверен, что возможно сделать то, что я хочу сделать. Я хочу сопоставить один сервлет с двумя разными URL.
Я хочу, чтобы и http://10.0.0.1/a и http://10.0.0.1/b отображались на один и тот же сервлет.
Я знаю, что есть возможность сделать следующее в web.xml;
<servlet-mapping>
<servlet-name>ServletName</servlet-name>
<url-pattern>/b</url-pattern>
</servlet-mapping>
Но это включает следующий URL: http://10.0.0.1/ContextPath/b/
1 ответ
Решение
Вы можете сделать следующее:
<servlet-mapping>
<servlet-name>ServletName</servlet-name>
<url-pattern>/a</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletName</servlet-name>
<url-pattern>/b</url-pattern>
</servlet-mapping>
И тогда оба http://host/webapp/a и http://host/webapp/b будут сопоставлены одному сервлету.
Если вы хотите удалить префикс / webapp, вам нужно установить свое веб-приложение в качестве ROOT, задав для атрибута пути контекста значение "" в своем XML-файле контекста (в разделе webapps или в файле META-INF/context.xml).