`
javawill
  • 浏览: 13541 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

GAE集成SpringMVC

阅读更多

摘要:

本教程,主要展示GAE如何集成Spring 3.0 MVC REST框架,同时,实现一个小案例。

所使用技术和工具:
  1. 1. Eclipse-Jee-Juno (version 4.2)
  2. 2. JDK 1.6
  3. 3. Google Plugin for Eclipse
  4. 4. Google App Engine Java SDK 1.7.4
  5. 5. Spring 3.1.0

 

备注:

在学习本教程之前,您可能需要了解SpringMVC开发技术,同样你也可能需要阅读下我上一篇博文 [GAE 教程] 初识GAE

 

  • 项目集成Spring 3.0 MVC REST 需要依赖以下jar
    1. 1. aopalliance-1.0.jar
    2. 2. commons-logging-1.1.1.jar

    3. 3. spring-aop-3.1.0.RELEASE.jar

    4. 4. spring-asm-3.1.0.RELEASE.jar

    5. 5. spring-beans-3.1.0.RELEASE.jar

    6. 6.spring-context-3.1.0.RELEASE.jar

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

    8. 8. spring-core-3.1.0.RELEASE.jar

    9. 9. spring-expression-3.1.0.RELEASE.jar

    10. 10. spring-web-3.1.0.RELEASE.jar

    11. 11. spring-webmvc-3.1.0.RELEASE.jar

  • >>准备好Jar包以后,将这些jar包拷贝到项目的war/WEB-INF/lib 中

    复制所需jar包到项目

  • >>导入后,通过Configure Build Path…配置引用下这些包就好了

导入依赖包

  • >>配置SpringMVC,首先我们需要在war/WEB-INF/ 下创建一个Spring XML bean的配置文件 {YourServletName}-servlet.xml,用来定义bean 和 试图解析器
    1. <beans xmlns="http://www.springframework.org/schema/beans"
    2. xmlns:context="http://www.springframework.org/schema/context"
    3. xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="
    5. http://www.springframework.org/schema/beans
    6. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    7. http://www.springframework.org/schema/context
    8. http://www.springframework.org/schema/context/spring-context-3.0.xsd
    9. http://www.springframework.org/schema/mvc
    10. http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
    11. <!-- 对web包中的所有类进行扫描,以完成bean的创建和自动依赖注入功能 -->
    12. <context:component-scan base-package="com.javawill" />
    13. <!-- 对模型视图的名称的解析 -->
    14. <bean
    15. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    16. <property name="prefix">
    17. <value>/WEB-INF/jsp/</value>
    18. </property>
    19. <property name="suffix">
    20. <value>.jsp</value>
    21. </property>
    22. </bean>
    23. </beans>
  • >>同时,我们需要将Spring 集成到我们的web.xml中,有的人可能IDE无法显示web.xml的内容,只需要刷新web.xml 文件(注意是文件,不是内容)
    1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
    2. <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    3. xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
    5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    6. <!-- spring mvc的servlet,加载WEB-INF/baifeibai-servlet.xml的配置文件,以启动Spring MVC模块 -->
    7. <servlet>
    8. <servlet-name>baifeibai</servlet-name>
    9. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    10. <load-on-startup>1</load-on-startup>
    11. </servlet>
    12. <servlet-mapping>
    13. <servlet-name>baifeibai</servlet-name>
    14. <url-pattern>*.do</url-pattern>
    15. </servlet-mapping>
    16. <context-param>
    17. <param-name>contextConfigLocation</param-name>
    18. <param-value>/WEB-INF/baifeibai-servlet.xml</param-value>
    19. </context-param>
    20. <!-- spring容器启动监听器 -->
    21. <listener>
    22. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    23. </listener>
    24. <welcome-file-list>
    25. <welcome-file>index.html</welcome-file>
    26. </welcome-file-list>
    27. <servlet>
    28. <servlet-name>SystemServiceServlet</servlet-name>
    29. <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
    30. <init-param>
    31. <param-name>services</param-name>
    32. <param-value />
    33. </init-param>
    34. </servlet>
    35. <servlet-mapping>
    36. <servlet-name>SystemServiceServlet</servlet-name>
    37. <url-pattern>/_ah/spi/*</url-pattern>
    38. </servlet-mapping>
    39. </web-app>
  • >>现在我们看看我们项目的新结构,并实现一个简单的业务,通过Controller 定义一个变量值,并在JSP上展现出来

    项目结构

  • >>定义Controller.java
    1. /**
    2. * Create by Javawill in 2013-1-10
    3. */
    4. package com.javawill.example.spring.controller;
    5. import org.springframework.stereotype.Controller;
    6. import org.springframework.ui.Model;
    7. import org.springframework.web.bind.annotation.RequestMapping;
    8. /**
    9. * GAE集成SpringMVC Controller 实例
    10. * @author <a href="mailto:iflytekwill@qq.com">Javawill</a>
    11. * @version 1.0
    12. */
    13. @Controller
    14. public class SpringController {
    15. @RequestMapping("/example/welcome.do")
    16. public String Welcome(Model model, String inputval){
    17. if ( inputval == null || ("".equals(inputval))) {
    18. inputval = "您可以试试在下面的输入框输入值,测试下Spring的传参!";
    19. } else {
    20. inputval = "您之前输入的值为:" + inputval;
    21. }
    22. model.addAttribute("hello", "您好,欢迎您来到GAE+SpringMVC学习项目演示网站!");
    23. model.addAttribute("msg", inputval);
    24. return "example/spring/welcome";
    25. }
    26. }
  • >>JSP页面代码
    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    5. <html>
    6. <head>
    7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    8. <title>Javawill 演示案例</title>
    9. </head>
    10. <body>
    11. <h2>${hello }</h2>
    12. ${msg }
    13. <form action="<c:url value='/example/welcome.do' />" method="post">
    14. 输入值:<input id="inputval" name="inputval" />
    15. <input type="submit" value="确定" />
    16. </form>
    17. </body>
    18. </html>

页面展现效果

输入值以后的效果

=================================================================== 本教程系列为本人写技术博客练笔之作,高手请无视,转载请点明出处!
===================================================================

分享到:
评论

相关推荐

    GAE-SpringMVC_Example

    GAE-SpringMVC_Example SpringMVC 应用示例,支持:Google AppEngine v1.9.15 和 SpringMVC v3.1.1 是一个建立在[集成开发环境] Moon Eclipse Service Release 1 (4.4.1) 上的项目,因此您可以将其导入Eclipse 并...

    spring3+springmvc+jpa2+gae

    实现了spring3+springmvc+jpa2.0+gae之间的集成,项目可直接运行

    GAE包(以配置好,解压可用)

    GAE 集成程序,共有三个软件包,解压后安装包里的python然后运行SDU里的exe文件,最后运行客户端加服务端中localproxy中的proxy.py就可以了

    GAE使用规则

    GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则

    基于GAE的Demo

    Eclipse开发 Gae,Struts2,Spring,云计算,学习gae云计算的好例子

    gae-pytorch-master_pytorch_pytorchgae_GAE_自编码器_gaepytorchmaster_

    图自编码器GAE的pytorch实现,参考论文vgae

    GAE入门教程

    pass之GAE入门教程, 学习GAE

    spring+gae

    实现了gae与spring3之间的集成

    gae_in_pytorch-master_GAE_

    图形自动编码器GAE的pytorch实现,可参考论文VGAE

    GAE之webapp框架

    GAE平台开发应用时,简单的webapp框架的使用

    GAE编程指南

    《GAE编程指南》是一种云计算服务,跟其他的同类产品不同,它提供了一种简单的应用程序构建模型,通过这种模型,你可以轻松地构建出能够容纳数百万用户的应用程序。《GAE编程指南》是介绍使用这个强大平台的专家级...

    GAE和SAE的比较

    云计算下的PaaS中的GAE和SAE平台

    GAE上可以用的JAVA 博客源代码

    GAE上可以用的JAVA Blog源代码 可以在GAE上直接使用,支持图片上传等。 源代码是修改其他网友的普通blog程序而来,只做了必要的修改,原结构保留 最新版本请去主页下载 http://redpower1998.appspot.com 主页包括...

    gae编程指南

    《GAE编程指南》是一种云计算服务,跟其他的同类产品不同,它提供了一种简单的应用程序构建模型,通过这种模型,你可以轻松地构建出能够容纳数百万用户的应用程序。《GAE编程指南》是介绍使用这个强大平台的专家级...

    spring+gae+hibernate

    实现了spring+gae+hibernate的集成

    百度的bae跟谷歌的gae对比

    百度的bae跟谷歌的gae对比,百度的资源限制很少,但是资源很少,教程很少。。

    关于GAE的教程、工具与文档(建站)

    关于GAE的教程、工具与文档(建站) 全

    GAE(Google App Engine)空间申请使用教程及 GAE域名捆绑方法

    GAE(Google App Engine)空间 GAE(Google App Engine)空间申请使用教程及 GAE域名捆绑方法使用教程及 GAE域 GAE(Google App Engine)空间申请使用教程及 GAE域名捆绑方法捆绑方法

    gae-mini-profiler-2.0.2.zip

    gae-java-mini-profiler.zip,google a p p engine java runtime的mini profiler(灵感来自于https://github.com/kamens/gae_mini_profiler上的python gae_mini_profiler和...

    让gae支持php的方法

    GAE虽然支持java了,但不幸的是依然不支持php 但是我们可以使用基于java的Quercus基本上可以100%的支持PHP语言

Global site tag (gtag.js) - Google Analytics