Пример Struts Hello World

Пример Struts Hello World

В этом руководстве мы покажем вам, как разработать веб-приложение hello world с использованием классической структурыStruts 1.3.

Используемые инструменты и технологии:

  1. Struts 1.3.10

  2. Maven 2.x

  3. Затмение 3.6

Окончательная структура проекта

Давайте сначала посмотрим на окончательную структуру папок.

Struts-Hello-World-Maven

1. Шаблон Maven

Создайте структуру проекта Java для быстрого запуска с помощью команды Maven «mvn archetype:generate», выберите шаблон 18 для простого шаблона веб-проекта Java.

Define value for groupId: : com.example.common
Define value for artifactId: : StrutsExample
Define value for version:  1.0-SNAPSHOT: :
Define value for package:  com.example.common: : com.example.common
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 minute 5 seconds
[INFO] Finished at: Thu Apr 08 11:29:30 SGT 2010
[INFO] Final Memory: 8M/14M
[INFO] ------------------------------------------------------------------------

2. pom.xml file configuration

Добавьте зависимости Struts в pom.xml. В Struts 1.x вам нужныstruts-core.jar для основного модуля иstruts-taglib.jar для библиотеки тегов.


  4.0.0
  com.example.common
  StrutsExample
  war
  1.0-SNAPSHOT
  StrutsExample Maven Webapp
  http://maven.apache.org
  
    
      junit
      junit
      3.8.1
      test
    

    
      org.apache.struts
      struts-core
      1.3.10
    

    
      org.apache.struts
      struts-taglib
      1.3.10
    

  
  
    StrutsExample
  

3. Eclipse IDE

Преобразуйте этот проект в веб-проект Eclipse с помощью команды Maven «mvn eclipse:eclipse -Dwtpversion=1.5». Все зависимые от Struts библиотеки будут автоматически загружаться в локальный репозиторий Maven, связываться с ним в пути к классам вашего проекта и преобразовываться в стиль веб-проекта Eclipse.

E:\workspace\struts\StrutsExample>mvn eclipse:eclipse -Dwtpversion=1.5
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'eclipse'.
[INFO] ------------------------------------------------------------------------
[INFO] Building StrutsExample Maven Webapp

Просто импортируйте его в Eclipse IDE.

4. Форма действия

Создайте Форму действия Struts для хранения данных «hello world» позже.

package com.example.common.form;

import org.apache.struts.action.ActionForm;

public class HelloWorldForm extends ActionForm{

    String message;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

}

5. Действие (Контроллер)

Создайте файл Struts Action (Action Controller), чтобы контролировать, как Struts будет перенаправлять запрос, просто замените методexecute() своей собственной логикой.

package com.example.common.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.example.common.form.HelloWorldForm;

public class HelloWorldAction extends Action{

    public ActionForward execute(ActionMapping mapping,ActionForm form,
        HttpServletRequest request,HttpServletResponse response)
        throws Exception {

        HelloWorldForm helloWorldForm = (HelloWorldForm) form;
        helloWorldForm.setMessage("Hello World! Struts");

        return mapping.findForward("success");
    }

}

6. Страница просмотра JSP

Создайте страницу JSP и получите доступ к объекту формы действия через библиотеку тегов Struts и распечатайте свойство сообщения.


7. struts-config.xml

Создайте файлstruts-config.xml для деталей конфигурации Struts и поместите его в папкуWEB-INF.






    
       
    

    
       
        

       
    

Определите компонент формы с именем «helloWorldForm» и сопоставление контроллера действий «HelloWorldAction», сопоставьте веб-путь/helloWorld сHelloWorldAction. Это означает, что весь запрос с веб-пути/helloWorld будет перенаправлен наHelloWorldAction. Атрибут «name» используется для определения того, какая форма действия будет передана этомуHelloWorldAction.

8. Дескриптор развертывания веб-приложения

В файлеweb.xml настройте экземпляр StrutsActionServlet и сопоставьте его с шаблоном URL-адреса. Шаблон «.do”, so that the container is aware of all the “ * .do *» будет перенаправлять наStruts ActionServlet.




  Maven Struts Examples

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

  
       action
       *.do
  

9. Зависимость модуля Java EE (необязательно)

Если вы хотите выполнить отладку в Eclipse IDE, вы должны убедиться, чтоJava EE module dependencies отмечен, чтобы Eclipse развернул все зависимости в правильную папку. See details here.

10. Запустить его

В Eclipse IDE создайте новый плагин сервера и запустите его. Вы можете получить доступ к этому примеру в следующем URL.

Struts-Hello-World-Maven2

HttpServletRequest class not found?
Если вы столкнулись с ошибкой выше, убедитесь, что вы включилиjavaee.jar (существует в вашей папке JDK / lib). Из-за проблемы с лицензией этотjavaee.jar не может использовать Maven для его загрузки, вам необходимо включить его вручную.

Скачать