Ваша конфигурация будет зависеть от того, какой сервер Java EE вы собираетесь использовать. Apache Tomcat имеет очень хорошую интеграцию AJP с веб-сервером Apache, так что именно это я и буду использовать в этом примере конфигурации.
Вы пишете, что хотели бы выполнить переназначение URL-адресов в Apache.Я настоятельно рекомендую против этого, так как это очень затруднит динамическую генерацию вашего URL в вашем приложении.Вы можете лучше использовать функции сопоставления URL-адресов в своей веб-инфраструктуре, чтобы поддерживать поддержку создания этой инфраструктуры для создания ссылок.
Я не знаком со Struts, но если он не поддерживает эту базовую функцию, я бы порекомендовал вампереключитесь на Stripes Framework или более сложную среду Spring MVC.Далее вы пишете, что хотите использовать JSP, поэтому я также рекомендую использовать шаблон MVC , который поддерживает все эти фреймворки.Это означает, что вы сопоставляете URL-адреса с объектами action / controller, а не напрямую с файлами JSP.
Ниже приведен пример конфигурации .htaccess , которая передает все входящие URL-адреса, заканчивающиеся на .action
, на вашСервер Java EE.URL передаются точно так же, как запрошенный URL, включая их (необязательные) параметры.Убедитесь, что порт 8009 является портом прослушивания AJP вашего сервера Java EE (или измените его на настроенный вами порт).
# Example .htaccess
#
# Please make sure 8009 is the port number of your Java EE server
RewriteEngine On
RewriteBase /
RewriteRule ^(.*\.action)$ ajp://127.0.0.1:8009/$1 [P,QSA,L]
Также убедитесь, что вы настроили Apacheправильно.Например, вам нужно настроить правильные модули, это те, которые я включил (хотя вам могут не понадобиться все они):
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so