`
snowtigersoft
  • 浏览: 55367 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【1】搭建GAE+GWT+Spring3环境

阅读更多

今天搭建GAE+GWT+Spring3的环境,之间遇到了很多问题,可谓历经磨难,最后终于成功了~~下面写一下配置的过程,给同样希望此环境的朋友少走弯路。 我使用的是GAE的eclipse插件,具体使用见这里

安装好插件后,创建一个Web Application Project,填写名字及包名,其他默认即可。

下面将Spring整合进去。

先去这里下载一个Spring的framework,最新版本为3.0.1.RELEASE-A

接着下载一个xalan的jar包,可以去这里下载

现在开始进入主题,各位看官注意啦~~~

一)将下列jar包copy到WEB-INF/lib下

二)修改web.xml

添加如下配置:

	<servlet>
		<servlet-name>dispatcher</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/applicationContext.xml,/WEB-INF/dispatcher-servlet.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>dispatcher</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping> 

三)添加2个配置文件applicationContext.xml和dispatcher-servlet.xml

applicationContext.xml用来配置action、service、dao等biz层的beans

暂时可为空,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
    "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
		
</beans>

dispatcher-servlet.xml用来配置controller及view,

现只配置了viewResolver,如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

        <context:component-scan base-package="com.snowtigersoft.taobao.web.controllers" />

        <bean id="viewResolver"
                class="org.springframework.web.servlet.view.InternalResourceViewResolver"
                p:prefix="/WEB-INF/views/" p:suffix=".jsp" />

</beans>

至此,配置就结束了。

四)下面写一个简单的controller,HelloController.java

/*
 * @(#)HelloController.java	1.0 2010-3-7
 *
 * Copyright 2010 SnowTigerSoft. All rights reserved.
 */
package com.snowtigersoft.taobao.web.controllers;

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

/**
 * 类目信息JDO
 *
 * @author SnowTigerSoft
 * @date 2010-3-7
 * @version 1.0
 */
@Controller
public class HelloController {

	@RequestMapping("/hello/{name}.do")
    public String hello(@PathVariable String name, Model model) {
            model.addAttribute("name", name);
            return "hello";
    }
	
	@RequestMapping("/goodbye/{name}.do")
    public String goodbye(@PathVariable String name, Model model) {
            model.addAttribute("name", name);
            return "goodbye";
    }
	
}

创建项目时会自动生成GWT的hello world代码,我就不再唠叨

至此,一个简单的GAE+GWT+Spring3项目就搭建起来了,下面看看想效果:

debug->web application启动jetty服务器

打开浏览器,输入http://127.0.0.1:8888/Pp.html?gwt.codesvr=127.0.0.1:9997查看GWT的页面

再看看我们的spring页面~~~~

http://127.0.0.1:8888/hello/world.do

 

http://127.0.0.1:8888/goodbye/world.do

明天继续JDO的实验

2
2
分享到:
评论
6 楼 jelver 2010-11-26  
正需要这种模式的开发资料,谢谢
5 楼 njthnet 2010-05-25  
我用Spring3在google GAE上做了一个很简单应用,带分页,还是伪静态的页面
http://spring3-rest.appspot.com/demo.html
4 楼 daxiong921 2010-05-07  
大哥,我按照你的方法去做,在普通EE5环境下没有问题,在GAE下就会报错。
Error running javac.exe compiler
at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:473)
at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute(JavacExternal.java:47)
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:931)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)

..........................
Caused by: java.io.IOException: CreateProcess: javac.exe -classpath "E:\java_workspace\furniture\war\WEB-INF\classes;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\appengine-local-runtime-shared.jar;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\geronimo-el_1.0_spec-1.0.1.jar;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\geronimo-jsp_2.1_spec-1.0.1.jar;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\geronimo-servlet_2.5_spec-1.2.jar;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\jsp\repackaged-appengine-ant-1.6.5.jar;D:\Program Files\M?
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)


...................


--- Nested Exception ---
java.io.IOException: CreateProcess: javac.exe -classpath "E:\java_workspace\furniture\war\WEB-INF\classes;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\appengine-local-runtime-shared.jar;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\geronimo-el_1.0_spec-1.0.1.jar;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\geronimo-jsp_2.1_spec-1.0.1.jar;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\geronimo-servlet_2.5_spec-1.2.jar;D:\Program Files\MyEclipse 6.5\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.3_1.3.3.v201004231111\appengine-java-sdk-1.3.3.1\lib\shared\jsp\repackaged-appengine-ant-1.6.5.jar;D:\Program Files\M?
at java.lang.ProcessImpl.create(Native Method)

......................


没加spring之前GAE可以正常运行,加了SPRING后,就这些错了。
不知道为什么。。。
3 楼 mht19840918 2010-04-07  
gae玩玩还可以,我之前在上面用struts2+spring+jdo弄了个例子,限制太多了,用python在上面还可以
2 楼 snowtigersoft 2010-03-08  
toeo 写道
很不错..
用下spring3.0 是比较不错的.
但是为啥用在 GWT 上面呢.
个人觉得 还是直接的用 GWT 比较不错.

google app 上面可以用到的lib 包很有限..

重要的 是用 GWT 在上面做界面..

有兴趣的话..我们可以一起研究...
欢迎看我的博客..
你们是自己研究.还是公司用呢.??我是自己研究呢..

自己研究着玩的,刚接触GWT,对Spring倒是很熟悉,所以才想能不能整合到一起来着~~呵呵
看来你是很熟悉GWT,以后有问题向您请教啦~~
1 楼 toeo 2010-03-08  
很不错..
用下spring3.0 是比较不错的.
但是为啥用在 GWT 上面呢.
个人觉得 还是直接的用 GWT 比较不错.

google app 上面可以用到的lib 包很有限..

重要的 是用 GWT 在上面做界面..

有兴趣的话..我们可以一起研究...
欢迎看我的博客..
你们是自己研究.还是公司用呢.??我是自己研究呢..

相关推荐

    spring+gae+hibernate

    标题“spring+gae+hibernate”所提及的是一个技术集成项目,主要涉及Spring框架、Google App Engine(GAE)和Hibernate三个关键组件。让我们详细探讨这三个技术以及它们的集成。 Spring是一个开源的Java企业级应用...

    spring+gae

    1. **依赖注入**:Spring的DI(依赖注入)使得在GAE环境中管理对象及其依赖关系变得简单,无需使用GAE特有的服务定位器模式。 2. **数据存储**:Spring与GAE的数据存储API(如JDO或JPA)结合,可以提供一个统一的...

    基于Google.App.Engine(GAE)的Java和GWT应用开发.pdf

    This book is designed to give developers all the information they need to develop their own GAE+GWT applications, with a particular focus on some of the technologies useful for building scalable ...

    spring3+springmvc+jpa2+gae

    标题 "spring3+springmvc+jpa2+gae" 指的是一个集成开发环境,它结合了Spring框架的三个核心组件以及Google App Engine (GAE)。这个项目旨在展示如何在GAE上运行一个基于Spring 3、Spring MVC和JPA 2.0的应用程序。...

    GWT入门与经典实例解析

    此外,还可以探索如何使用GWT进行数据持久化,如通过GWT的GAE(Google App Engine)支持连接到数据库,或者使用GWT的History API实现页面导航。 另一个实例可能是构建一个实时协作编辑的文本编辑器,利用GWT的事件...

    基于GAE平台与GWT框架的Android技术应用研究.pdf

    鉴于此,研究者提出了一种利用GAE和GWT在Android环境中构建手机通讯录同步云服务应用系统。 该系统主要由三个部分组成:Server、Browser和Phone。Phone端基于Android操作系统,负责查看和下载由Browser端存储在...

    gae strus2 spring 整合

    1. 引入必要的库:确保项目包含Struts2、Spring和GAE相关的JAR文件。 2. 配置web.xml:设置Struts2和Spring的前端控制器(Front Controller)。 3. 配置struts.xml:定义Action类及其结果页面。 4. 配置spring-beans...

    基于Google App Engine(GAE)的Java和GWT应用开发

    基于Google App Engine(GAE)的Java和GWT应用开发_Google App Engine Java and GWT Application Development Nov.2010

    基于GAE的Demo

    【基于GAE的Demo】是一个使用Eclipse集成开发环境构建的项目,主要展示了如何在Google App Engine(GAE)平台上整合Struts2、Spring和Tiles框架。GAE是Google提供的一个云计算平台,允许开发者在Google的基础设施上...

    Struts2,Spring,JDO,AJAX on GAE

    开发者需要根据GAE的环境优化代码,以确保应用能在GAE上高效运行。 综上所述,这篇博客可能讲解了如何在GAE上集成Struts2、Spring、JDO和AJAX,以构建动态、响应式的Web应用。可能包括了配置、示例代码、最佳实践...

    部署一个简单GWT应用到Google App Engine

    标题 "部署一个简单GWT应用到Google App Engine" 涉及到的技术点主要包括Google Web Toolkit (GWT) 和 Google App Engine (GAE),这两者都是Google提供的开发和托管Web应用的重要工具。以下是对这些技术及其相关知识...

    gea 整合struts2+jpa+spring实例

    在本实例中,我们将探讨如何将Google App Engine (GAE) 与三个强大的Java框架——Struts2、JPA(Java Persistence API)以及Spring进行整合,以构建一个高效的Web应用程序。GAE是一个由Google提供的云平台,允许...

    GAE搭建个人网站图文详细教程

    ### GAE搭建个人网站知识点详解 #### 一、GAE简介 - **定义与特性**:GAE(Google App Engine)是Google推出的一种基于云端的应用程序托管服务,它允许开发者在其上部署各种Web应用程序。GAE自2008年发布以来,已经...

    GAE开发环境(日文)

    1. **Java环境变量设置** 在配置GAE开发环境时,首先需要确保已安装了Java Development Kit(JDK),版本至少为1.6.0_19。JDK的安装应遵循默认设置。安装完成后,JDK会位于特定的文件夹下。系统环境变量`JAVA_HOME`...

    GAE-GWT-data-store-app:WebApp将数据保存到GAE数据存储中。 该应用是使用GWT创建的。 您可以注册。 注册后,电子邮件将发送到您的电子邮件地址。 您可以输入一些信息,这些信息将显示在单元格列表中。 如果您按此单元格,则该应用程序将带您到下一页,您也可以在其中输入一些数据。 该应用程序由列表组成,您可以将其加深到五个级别

    标题中的"GAE-GWT-data-store-app"是一款基于Google App Engine (GAE) 和 Google Web Toolkit (GWT) 开发的应用程序,它展示了如何在Web应用中利用GAE的数据存储服务来保存用户数据。GAE是一个云平台,允许开发者...

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

    标题 "GAE包(以配置好,解压可用)" 提供的信息表明,这是一个已经预配置好的Google App Engine (GAE)开发环境的压缩包。GAE是Google提供的一项平台即服务(PaaS),允许开发者在Google的基础设施上运行自己的Web...

    flex + spring + BlazeDS + google App JDO 实现一个CRUD.

    2. **搭建Spring环境**: 配置Spring上下文,声明Service Bean,实现CRUD操作。添加BlazeDS相关配置,如`message-broker.xml`,指定RemotingEndpoints。 3. **配置BlazeDS**: 在服务器端部署BlazeDS,设置与...

    gae_in_pytorch-master_GAE_

    \[ H^{(l+1)} = \sigma(\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}H^{(l)}W^{(l)}) \] 其中,\(\tilde{A}\) 是图的邻接矩阵加上自环,\(\tilde{D}\) 是对应的度矩阵,\(H^{(l)}\) 表示第\(l\)层...

Global site tag (gtag.js) - Google Analytics