Exemple Google App Engine + Struts 1

Exemple Google App Engine + Struts 1

Vive le framework Struts 1 classique, dans ce tutoriel, nous allons vous montrer comment développer une application webStruts 1.x dans l'environnementGoogle App Engine (GAE).

Outils et technologies utilisés:

  1. JDK 1.6

  2. Eclipse 3.7 + Plugin Google pour Eclipse

  3. SDK Java de Google App Engine 1.6.3.1

  4. Struts 1.3.10

Note
Vous pouvez également vous intéresser à ceGoogle App Engine + Struts 2 example.

Cet exemple va fusionnerStruts 1.x hello world example avec ceGAE + Java example.

1. Nouveau projet d'application Web

Dans Eclipse, créez un nouveau projet d'application Web, nommé «StrutsGoogleAppEngine».

struts1 on gae example

Le plug-in Google pour Eclipse générera un exemple de structure de projet GAE. plus tard intégrera Struts 1 dans cette structure GAE.

2. Intégrer les bibliothèques Struts 1.x

Visitez ce lien versdownload Struts 1.x. Les bocaux suivants sont requis:

  • 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

Copiez-le et placez-le dans le dossier «war/WEB-INF/lib».

struts1 on gae example library

Faites un clic droit sur le dossier du projet, sélectionnez «Properties». Sélectionnez l'onglet «Java Build Path» → «Libraries», cliquez sur le bouton «Add Jars» et sélectionnez les 9 fichiers ci-dessus du dossier «war/WEB-INF/lib» dans le chemin de construction.

struts1 on gae example java build

3. Intégrer l'action et le formulaire Struts 1.x

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

3.2 Create a new Action class.

Fichier: src / com / exemple / 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.

Fichier: 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. Intégrer les pages JSP Struts 1.x

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

Fichier: HelloWorld.jsp

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





    

Google App Engine + Struts 1.x example

5. Configuration XML de Struts

Créez un fichierstruts-config.xml et placez-le dans «war/WEB-INF/struts-config.xml».

Fichier: struts-config.xml





    
       
    

    
       
        

       
    

6. web.xml

Mettez à jourweb.xml, intégrez Struts.

Fichier: web.xml



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

    
        action
        *.do
    

    
        index.html
    

7. Activer la session dans GAE

Mettez à jourappengine-web.xml, activez le support de session, Struts en a besoin.

Fichier: appengine-web.xml


  
  1

    true

Note
Si vous n’activez pas la session dans GAE, vous obtiendrez l’erreur «java.lang.RuntimeException: Session support is not enabled in appengine-web.xml».

8. Structure du répertoire

Vérifiez la structure finale du répertoire.

struts1 on gae example final directory structure

9. Exécuter en local

Faites un clic droit sur le projet, exécutez en tant que «Web Application».

struts1 on gae example run on local

10. Déployer sur GAE

Mettez à jour le fichierappengine-web.xml, ajoutez votre ID d'application App Engine.

Fichier: appengine-web.xml


  example-strutsgae
  1

  true

Sélectionnez le projet, cliquez sur l'icône Google, «Deploy to App Engine».

struts1 on gae example deploy on gae

Note
Pas beaucoup de problème, il suffit de suivre la structure de répertoires GAE, au moins intégrer Struts 1 est plus facile que Struts 2.

Télécharger le code source

En raison de la grande taille du fichier, tous les pots Struts1 sont exclus, vous devez le télécharger manuellement.

Télécharger -StrutsGoogleAppEngine (13 KB)