Я пытаюсь добавить URL-маршрутизацию в веб-приложение, работающее в Tomcat 5.5.URL-адрес маршрутизации и относительные ссылки в Tomcat 5.5
Я хочу, чтобы динамические URL-адреса страниц были более дружественными, меняя main.jsp?type=test&group=info
на main/test/info
, как и все ярость.
Я настроил следующее в web.xml
<servlet>
<servlet-name>main</servlet-name>
<jsp-file>/main.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>main</servlet-name>
<url-pattern>/main/*</url-pattern>
</servlet-mapping>
и main.jsp я использую request.getPathInfo()
, чтобы получить данные, которые мне нужно сделать маршрутизацию. Все это работает нормально, и когда я просматриваю http://mytestserver/example/main/test/info
, я получаю html, который я ожидаю.
Проблема заключается в том, что все относительные ссылки на этой странице, изображения, стили, javascript и т. Д. Теперь все сломаны, поскольку они интерпретируются как относительно полного URL-адреса.
Я не могу придумать простой способ использования статических ссылок, потому что URL-адреса тестового сервера и производственного сервера находятся на разных уровнях: http://mytestserver/example/
отображает http://example.com/
на производстве, и я действительно не хочу писать код обернуть каждую внутреннюю ссылку на сайт или настроить виртуальный сервер для каждого сайта на тестовом сервере.
Есть ли что-нибудь еще, что я могу сделать?
Я читал, что вы не хотите настраивать виртуальный сервер на тестовом сервере, но в долгосрочной перспективе это, вероятно, упрощает работу. И проблема в настройке минимальна. – Tiago
Спасибо всем за ваш вклад. Я закончил писать фильтр, который обрабатывает ответы на страницы, изменяя URL-адреса на лету. Он отлично работает. –