Пример Struts Hello World
В этом руководстве мы покажем вам, как разработать веб-приложение hello world с использованием классической структурыStruts 1.3.
Используемые инструменты и технологии:
-
Struts 1.3.10
-
Maven 2.x
-
Затмение 3.6
Окончательная структура проекта
Давайте сначала посмотрим на окончательную структуру папок.

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.

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