Куда поместить struts.xml

В Struts2 мы должны иметь struts.xml в пути к классу, поэтому он больше не работает в WEB-INF. Таким образом, я развернул свой проект, поместив его под WEB-INF/classes и включив в него ../struts2.xml.

2 проблемы:

  1. Eclipse очищает папку классов, когда я делаю перестроение, поэтому удаляет struts.xml
  2. Eclipse не показывает папку классов в моем браузере проектов, поэтому в первую очередь это плохое место для вставки файлов конфигурации.

Как вы, разработчики Struts2 Eclipse, делаете это?


person ariso    schedule 15.05.2009    source источник
comment
!C:\Users\342008\Desktop\strus-structure.jpg   -  person jcrshankar    schedule 23.01.2012


Ответы (6)


Вы можете либо просто поместить файл struts.xml в корень исходного каталога, либо настроить дополнительный исходный каталог ресурсов и поместить его туда. Eclipse с радостью копирует его в WEB-INF/classes, когда выполняет компиляцию.

person Peter Kelley    schedule 16.05.2009
comment
При этом получаю ошибку 404!!!! Я использую tomcat6. можете ли вы сказать мне причину, почему это происходит так? - person Visruth; 19.03.2013

Я опаздываю на вечеринку, мы можем настроить struts.xml в любом каталоге в пути к классам веб-приложения, но указать местоположение с помощью параметра инициализации «config» конфигурации фильтра в web.xml, как показано ниже, если мои struts Файл .xml находится в каталоге «/com/resources/».

   <filter>
        <filter-name>action</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
         <init-param>
            <param-name>config</param-name>
            <param-value>struts-default.xml,struts-plugin.xml,/com/resources/struts.xml</param-value>
         </init-param>
    </filter>

Если мы не предоставляем параметр инициализации конфигурации, struts2 по умолчанию принимает 3 значения «struts-default.xml, struts-plugin.xml, struts.xml», вы можете увидеть код класса диспетчера struts2 ниже, который настроит эти 3 файла для менеджер конфигурации.

String configPaths = (String)this.initParams.get("config");
if (configPaths == null) {
  configPaths = "struts-default.xml,struts-plugin.xml,struts.xml";
}
String[] files = configPaths.split("\\s*[,]\\s*");
for (String file : files)
  if (file.endsWith(".xml")) {
    if ("xwork.xml".equals(file))
      this.configurationManager.addContainerProvider(createXmlConfigurationProvider(file, false));
    else
      this.configurationManager.addContainerProvider(createStrutsXmlConfigurationProvider(file, false, this.servletContext));
  }
person satish nagamalla    schedule 15.11.2014

В Struts 1.2 требовалось поместить файл struts-config.xml в путь к классам (в папке WEB-INF), но в Struts 2.0 он должен находиться в папке src/main/resources.

См. документацию Документация по Struts 2 здесь

Я вставил struts.xml в этот каталог, и проект выполнился нормально.

Структура моего проекта выглядит так

person Upendra Sharma    schedule 23.04.2018

Я не использую Eclipse, поэтому этот ответ не относится к вашим требованиям, но я использую Maven, поэтому у нас есть все «ресурсы», необходимые приложению, в отдельной папке под названием «ресурсы», и когда приложение создано, эти файлы копируются в соответствующие места автоматически. В Netbeans файлы в папке доступны, и я знаю, что есть люди, использующие eclipse с аналогичной настройкой.

Я должен отметить, что наш проект начался с appfuse, поэтому большинство этих конфигураций были предварительно сделаны . Там можно посмотреть, как это было сделано.

person Vincent Ramdhanie    schedule 15.05.2009

В проектах struts 2 файл struts.xml добавляется в папку src (ресурсы Java) вместе с пакетами и библиотеками.

Пожалуйста, обратитесь к изображению, приведенному ниже.

Просмотр каталога проекта Struts 2 в eclipse

Если вы хотите узнать больше о структуре проекта Struts 2, посетите эта ссылка

Примечание. В eclipse нельзя вставлять файл непосредственно в папку src. Поэтому вам нужно сначала вставить его в любое другое место в проекте (например, в папку «WebContent»), а затем использовать функцию перемещения, чтобы поместить его в нужное место (это папка «src»).

person Sarin Jacob Sunny    schedule 27.02.2012
comment
Я пробовал таким образом. Но я получаю ошибку 404. Можем ли мы иметь технический чат??? если да, заходите на visruthcv.appspot.com - person Visruth; 19.03.2013

Вы можете поместить файл struts.xml в пакеты src(Java Resources). В процессе компиляции файл struts.xml будет сгенерирован в каталоге ROOT/WEB-INF/classes.

если вы снова и снова получаете одну и ту же ошибку, лучше проверьте действия стойки. проверьте развернутый путь приложения, и вы сможете узнать, что вы хотите. (файл struts.xml)

person Sadun89    schedule 10.04.2014