Struts - Пример нескольких файлов конфигурации

Struts - Пример нескольких файлов конфигурации

Многие разработчики любят помещать все связанные с Struts вещи (действия, формы) в один файл конфигурации Struts. Это быстро для начальной разработки, но плохо для будущего обслуживания, и, возможно, разработчики не знают о возможности использования нескольких конфигурационных файлов Struts.

6 лет назад я присоединился к большому проекту разработки Struts, который включает более 20 модулей. К сожалению, предыдущие разработчики поместили все, что связано со Struts (действие, форму и т. Д.), В один файл конфигурации Struts (struts-config.xml). struts-config.xml просто продолжают расти чрезвычайно быстро и, наконец, достигают 20 ++ МБ, каждое обновление этого файла конфигурации займет несколько минут и даже подождите полчаса для одного развертывания отладки в Eclipse IDE. Это серьезная проблема производительности и заставляющая проект задерживать дату производства. Какой хороший опыт разработки Struts.

Пожалуйста, разбейте детали конфигурации Struts на разные модули, Struts может сделать это легко.

Пример нескольких конфигурационных файлов Struts

Это примерная структура проекта для демонстрации.

Struts-mutiple-configuration-file

1. Одиночный модуль

Один модуль поддерживает несколько файлов конфигурации Struts.

page1.jsp

This is Page 1

page2.jsp

This is Page 2

struts-config-1.xml






    

        

    

struts-config-2.xml






    

        

    

В web.xml вы можете разделить несколько файлов конфигурации Struts запятой «,».
web.xml




  Maven Struts Examples

  
    action
    
        org.apache.struts.action.ActionServlet
    
    
        config
        
         /WEB-INF/struts-config-1.xml, /WEB-INF/struts-config-2.xml
        
    
    1
  

  
       action
       *.do
  

Попробуй это
  1. http://localhost:8080/StrutsExample/Page1.do
    Будет отображен page1.jsp

  2. http://localhost:8080/StrutsExample/common/Welcome.do
    Будет отображена страница page2.jsp

Обе конфигурации Struts являются загруженным свойством.

2. Несколько модулей

Несколько модулей, каждый имеет свои файлы конфигурации Struts.

admin/welcome.jsp

Welcome to admin page

common/welcome.jsp

Welcome to common page

Оба файла «struts-config-admin.xml» и «struts-config-admin.xml» содержат одинаковые настройки, Struts может различать их через значение параметра «config» в web.xml.

В Struts 2 «http://www.example.com/struts2/struts-2-namespace-configuration-example-and-explanation/[Namespace]» является более эффективным способом заменить этот «config parameter »Настройка.

struts-config-admin.xml, struts-config-admin.xml






    

        

    

web.xml




  Maven Struts Examples

  
    action
    
        org.apache.struts.action.ActionServlet
    
    
        config
        
         /WEB-INF/struts-config-1.xml, /WEB-INF/struts-config-2.xml
        
    
    
        config/admin
        
         /WEB-INF/struts-config-admin.xml
        
    
    
        config/common
        
         /WEB-INF/struts-config-common.xml
        
    
    1
  

  
       action
       *.do
  

Попробуй это

«config/admin» будет соответствовать этому шаблону URL -http://localhost:8080/StrutsExample/admin/
«config/common» будет соответствовать этому шаблону URL -http://localhost:8080/StrutsExample/common/

  1. http://localhost:8080/StrutsExample/admin/Welcome.do
    Будет отображен admin / welcome.jsp

  2. http://localhost:8080/StrutsExample/common/Welcome.do
    Будет отображен общий / welcome.jsp

Каждый модуль имеет собственный файл конфигурации Struts.

Скачать исходный код