Отображение сервлетов в 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).

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