создание .htaccess - PullRequest
       16

создание .htaccess

0 голосов
/ 14 декабря 2010

Я разрабатываю проект со Struts2.Я использую JSP для веб-стороны.Я использую базу данных MySQL для своего приложения, и я установил сервер Wamp для него.Мои URL-адреса, как localhost / xxx? Name.action? Blablabla ... вместо этого я хочу перенаправить URL-адреса.Например, вместо name.action в моем URL я хочу использовать localhost / name или что-то в этом роде.Также с помощью .htaccess я хочу отправить данные поверх него как name.action? Id = $ 1 ... для моих действий на стороне Struts2.Однако я не мог перенаправить URL-адреса, я не мог правильно определить корень документа и файл .htaccess.Что мне делать, можете ли вы объяснить это шаг за шагом?

Спасибо.

Ответы [ 4 ]

1 голос
/ 14 декабря 2010

Ваша конфигурация будет зависеть от того, какой сервер 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
0 голосов
/ 20 марта 2015

Стивен говорит правильно

Просто используйте имя действия при вызове Struts action из jsp.

Например, href="actionName" вместо href="actionName.action" в теге привязки.

0 голосов
/ 14 декабря 2010

Вам не нужно использовать расширение .action в Struts2. Вы можете выбрать другое расширение или его нет (что звучит как то, что вы хотите).

0 голосов
/ 14 декабря 2010

Если вы используете текущую версию struts2, 2.2.1, вы должны настроить приложение в соответствии с: http://struts.apache.org/2.2.1/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-to-build-the-application.html, пожалуйста, поищите на странице «web.xml Servlet Filter», как только это будет сделано «name» и «name.action "являются действительными сопоставлениями с действием" name ".Что касается параметров url, это автоматически решается с помощью тегов формы Struts.Основные учебные пособия и примеры ссылок на теги на веб-сайте struts.apache.org.Корень документа обычно настраивается через IDE из имени проекта, далее, когда вы обычно компилируете, IDE создаст WAR, при развертывании WAR через веб-интерфейс для вашего сервера приложений / веб-контейнера изменение корня документа обычно является одним из видимых полей.во время установки.Так что это легко настраивается для каждой установки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...