Пример Google App Engine Struts 1

Пример Google App Engine + Struts 1

Да здравствует классический фреймворк Struts 1, в этом руководстве мы покажем вам, как разработать веб-приложениеStruts 1.x в средеGoogle App Engine (GAE).

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

  1. JDK 1.6

  2. Eclipse 3.7 + плагин Google для Eclipse

  3. Google App Engine Java SDK 1.6.3.1

  4. Struts 1.3.10

Note
ЭтотGoogle App Engine + Struts 2 example может вас заинтересовать.

Этот пример объединяетStruts 1.x hello world example с этимGAE + Java example.

1. Новый проект веб-приложения

В Eclipse создайте новый проект веб-приложения с именем StrutsGoogleAppEngine.

struts1 on gae example

Плагин Google для Eclipse создаст пример структуры проекта GAE. позже будет интегрировать Struts 1 в эту структуру GAE.

2. Интеграция библиотек Struts 1.x

Посетите эту ссылку наdownload Struts 1.x. Требуются следующие банки:

  • antlr-2.7.2.jar

  • commons-beanutils-1.8.0.jar

  • commons-chain-1.2.jar

  • commons-digester-1.8.jar

  • commons-logging-1.0.4.jar

  • commons-validator-1.3.1.jar

  • oro-2.0.8.jar

  • struts-core-1.3.10.jar

  • struts-taglib-1.3.10.jar

Скопируйте и поместите в папку «war/WEB-INF/lib».

struts1 on gae example library

Щелкните правой кнопкой мыши папку проекта и выберите «Properties». Выберите вкладку «Java Build Path» → «Libraries», нажмите кнопку «Add Jars» и выберите более 9 банок из папки «war/WEB-INF/lib» в путь сборки.

struts1 on gae example java build

3. Интегрируйте Struts 1.x Action и Form

3.1 Delete StrutsGoogleAppEngineServlet.java , you don’t need this.

3.2 Create a new Action class.

Файл: src / com / example / action / HelloWorldAction.java

package com.example.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.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!");

        return mapping.findForward("success");
    }

}

3.3 Create a new form class.

Файл: src / com / example / form / HelloWorldForm.java

package com.example.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;
    }

}

4. Интеграция Struts 1.x JSP-страниц

4.1 Create HelloWorld.jsp page and put in “war/User/pages/HelloWorld.jsp“.

Файл: HelloWorld.jsp

<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>





    

Google App Engine + Struts 1.x example

5. Конфигурация Struts XML

Создайте файлstruts-config.xml и поместите его в «war/WEB-INF/struts-config.xml».

Файл: struts-config.xml






    
       
    

    
       
        

       
    

6. web.xml

Обновитеweb.xml, интегрируйте Struts.

Файл: web.xml




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

    
        action
        *.do
    

    
        index.html
    

7. Включить сессию в GAE

Обновитеappengine-web.xml, включите поддержку сеанса, Struts это нужно.

Файл: appengine-web.xml



  
  1

    true

Note
Если вы не включите сеанс в GAE, вы получите ошибку «java.lang.RuntimeException: Session support is not enabled in appengine-web.xml».

8. Структура каталогов

Просмотрите окончательную структуру каталогов.

struts1 on gae example final directory structure

9. Беги по местному

Щелкните правой кнопкой мыши проект, запустите его как «Web Application».

struts1 on gae example run on local

10. Развернуть на GAE

Обновите файлappengine-web.xml, добавьте свой идентификатор приложения App Engine.

Файл: appengine-web.xml



  example-strutsgae
  1

  true

Выберите проект, щелкните значок Google, «Deploy to App Engine».

struts1 on gae example deploy on gae

Note
Не большая проблема, просто следуйте структуре каталогов GAE, по крайней мере, интегрировать Struts 1 проще, чем Struts 2.

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

Из-за большого размера файла все банки Struts1 исключены, его необходимо загрузить вручную.

Скачать -StrutsGoogleAppEngine (13 КБ)

Related