Пример Google App Engine + Spring 3 MVC REST

Пример Google App Engine + Spring 3 MVC REST

В этом руководстве мы покажем вам, как разработать и развернуть веб-приложениеSpring 3.0 MVC REST в среде Google App Engine (GAE).

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

  1. Google App Engine Java SDK 1.6.3.1

  2. Весна 3.1.1

  3. JDK 1.6

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

Note
Этот пример будет повторно использовать этотSpring 3 MVC REST example, модифицировать его и интегрировать с Google App Engine, вам также может быть интересно прочитать это -GAE + Java + Eclipse example

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

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

gae spring new web application

«Google Plugin for Eclipse» сгенерирует образец структуры проекта GAE.

2. Spring 3.0 Зависимости

Чтобы использоватьSpring MVC + REST в GAE, вам понадобятся следующие jar-файлы

  1. aopalliance-1.0.jar

  2. commons-logging-1.1.1.jar

  3. spring-aop-3.1.1.RELEASE.jar

  4. spring-asm-3.1.1.RELEASE.jar

  5. spring-beans-3.1.1.RELEASE.jar

  6. spring-context-3.1.1.RELEASE.jar

  7. spring-context-support-3.1.1.RELEASE.jar

  8. spring-core-3.1.1.RELEASE.jar

  9. spring-expression-3.1.1.RELEASE.jar

  10. spring-web-3.1.1.RELEASE.jar

  11. spring-webmvc-3.1.1.RELEASE.jar

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

gae spring dependency library

Добавьте его также в путь сборки вашего проекта - щелкните правой кнопкой мыши папку проекта и выберите «Properties». Выберите «Java Build Path» → вкладку «Libraries», нажмите кнопку «Add Jars» и выберите указанные выше банки.

gae spring java build path

3. Spring Controller

3.1 Delete auto generated SpringMVCGoogleAppEngineServlet.java, you don’t need this.

3.2 Create a bean, act as controller in REST structure. Кроме того, введите сообщение в свойство «message».

Файл: src / com / example / MovieController.java

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/movie")
public class MovieController {

    //DI via Spring
    String message;

    @RequestMapping(value="/{name}", method = RequestMethod.GET)
    public String getMovie(@PathVariable String name, ModelMap model) {

        model.addAttribute("movie", name);
        model.addAttribute("message", this.message);

        //return to jsp page, configured in mvc-dispatcher-servlet.xml, view resolver
        return "list";

    }

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

}

4. Страницы JSP

Создайте страницуlist.jsp, отобразите результат.

Файл: war / list.jsp



    

GAE + Spring 3 MVC REST example

Movie : ${movie} , DI message : ${message}

5. Конфигурация пружины

Создайте файл конфигурации bean-компонента Spring, определите bean-компоненты и обработчик представления.

Файл: war / WEB-INF / mvc-dispatcher-servlet.xml



    
    
        
    

    

    
    
        
            Hello World
        
    

    
        
            /pages/
        
        
            .jsp
        
    

6. web.xml

Обновитеweb.xml, интегрируйте платформу Spring.

Файл: war / WEB-INF / web.xml




    
        mvc-dispatcher
        
                    org.springframework.web.servlet.DispatcherServlet
                
        1
    

    
        mvc-dispatcher
        /
    

    
        contextConfigLocation
        /WEB-INF/mvc-dispatcher-servlet.xml
    

    
        
                    org.springframework.web.context.ContextLoaderListener
                
    

    
        index.html
    

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

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

gae spring final directory structure

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

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

gae spring deploy on local development environemnt

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

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

Файл: war / WEB-INF / appengine-web.xml



  example-springmvc
  1

  
    
  

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

gae spring deploy on production environment

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

Из-за большого размера файла исключаются все банки Spring и GAE.

Скачать -SpringMVC-GoogleAppEngine.zip (12 КБ)