Google App Engine + Struts 1 Beispiel

Google App Engine + Struts 1 Beispiel

Es lebe das klassische Struts 1-Framework. In diesem Tutorial zeigen wir Ihnen, wie Sie eine Webanwendung vonStruts 1.xin einer Umgebung vonGoogle App Engine (GAE) entwickeln.

Verwendete Tools und Technologien:

  1. JDK 1.6

  2. Eclipse 3.7 + Google Plugin für Eclipse

  3. Java SDK für Google App Engine 1.6.3.1

  4. Streben 1.3.10

Note
Sie können auch an diesenGoogle App Engine + Struts 2 example interessiert sein.

In diesem Beispiel werdenStruts 1.x hello world example mitGAE + Java example zusammengeführt.

1. Neues Webanwendungsprojekt

Erstellen Sie in Eclipse ein neues Webanwendungsprojekt mit dem Namen "StrutsGoogleAppEngine".

struts1 on gae example

Google Plugin for Eclipse generiert eine GAE-Beispielprojektstruktur. Später wird Struts 1 in diese GAE-Struktur integriert.

2. Integrieren Sie Struts 1.x-Bibliotheken

Besuchen Sie diesen Link zudownload Struts 1.x. Folgende Gläser werden benötigt:

  • 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

Kopieren Sie es und legen Sie es im Ordner "war/WEB-INF/lib" ab.

struts1 on gae example library

Klicken Sie mit der rechten Maustaste auf den Projektordner und wählen Sie „Properties“. Wählen Sie die Registerkarte „Java Build Path“ → „Libraries“, klicken Sie auf die Schaltfläche „Add Jars“ und wählen Sie über 9 Gläser aus dem Ordner „war/WEB-INF/lib“ in den Erstellungspfad.

struts1 on gae example java build

3. Struts 1.x-Aktion und -Form integrieren

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

3.2 Create a new Action class.

Datei: 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.

Datei: 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. Integrieren Sie Struts 1.x-JSP-Seiten

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

Datei: HelloWorld.jsp

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





    

Google App Engine + Struts 1.x example

5. Struts XML-Konfiguration

Erstellen Sie einestruts-config.xml-Datei und fügen Sie sie in „war/WEB-INF/struts-config.xml“ ein.

Datei: struts-config.xml






    
       
    

    
       
        

       
    

6. web.xml

Aktualisieren Sieweb.xml, integrieren Sie Struts.

Datei: web.xml




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

    
        action
        *.do
    

    
        index.html
    

7. Sitzung in GAE aktivieren

Aktualisieren Sieappengine-web.xml, aktivieren Sie die Sitzungsunterstützung. Struts benötigen dies.

Datei: appengine-web.xml



  
  1

    true

Note
Wenn Sie die Sitzung in GAE nicht aktivieren, wird der Fehler "java.lang.RuntimeException: Session support is not enabled in appengine-web.xml" angezeigt.

8. Verzeichnisaufbau

Überprüfen Sie die endgültige Verzeichnisstruktur.

struts1 on gae example final directory structure

9. Führen Sie auf lokal aus

Klicken Sie mit der rechten Maustaste auf das Projekt und führen Sie es als „Web Application“ aus.

struts1 on gae example run on local

10. Auf GAE bereitstellen

Aktualisieren Sie die Dateiappengine-web.xmlund fügen Sie Ihre App Engine-Anwendungs-ID hinzu.

Datei: appengine-web.xml



  example-strutsgae
  1

  true

Wählen Sie ein Projekt aus und klicken Sie auf das Google-Symbol „Deploy to App Engine“.

struts1 on gae example deploy on gae

Note
Kein großes Problem, folgen Sie einfach der GAE-Verzeichnisstruktur, zumindest ist die Integration von Struts 1 einfacher als von Struts 2.

Quellcode herunterladen

Aufgrund der großen Dateigröße sind alle Struts1-Gläser ausgeschlossen. Sie müssen sie manuell herunterladen.

Herunterladen -StrutsGoogleAppEngine (13 KB)