2009-05-15 5 views
14

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

2 Проблемы:

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

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

+0

! C: \ Users \ 342008 \ Desktop \ Strus-structure.jpg – jcrshankar

ответ

13

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

+0

Я получаю 404 ошибку, делая таким образом !!!! Я использую tomcat6. Можете ли вы рассказать мне, почему это так происходит? – Visruth

0

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

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

0

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

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

Struts 2 project directory view in eclipse

Если и хотите узнать больше о распорок 2 Структура проекта, пожалуйста, посетите this link

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

+0

где struts.xml? – Visruth

+0

Я пробовал так. Но я получаю ошибку 404. Можем ли мы получить технический чат ??? если да, то пришли http://visruthcv.appspot.com/ – Visruth

0

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

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

2

Я опаздываю к вечеринке, мы можем настроить 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 значения «распорка-default.xml, распорки-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)); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^