`
sikeh
  • 浏览: 11443 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring on GAE

阅读更多
The simplest annotated Spring MVC app on GAE

prerequisite:
1. Google App Engine account enabled
2. Google Plugin for Eclipse ready

Here is the preview of the project structure


Create a Google Web Application Project & follow these steps:
1) Copy & paste following libraries to /WEB-INF/lib/, and add to Java build path:

spring-core.jar
spring-beans.jar
spring-context.jar
spring-web.jar
spring-webmvc.jar
// don't use spring.jar (all-in-one jar), it will throw java.lang.NoClassDefFoundError: javax/naming/NamingException,
probably due to the fact that GAE/Java doesn't support EJB (javax.naming?)

jstl.jar
standard.jar
// gonna use JSTL in View

2) modify the auto-generated web.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
	<servlet>
		<servlet-name>dispatcher</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcher</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>


3) Create dispatcher-servlet.xml under /WEB-INF/
<?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="sikeh" />

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

</beans>


4) Create the index.jsp
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</head>
<body>
<form action="test.do" method="post">your name: <br />
<input type="text" name="name" /> <br />
<input type="submit" value="Submit" /></form>

</body>
</html>


5) Create the Controller, in this case sikeh.TestController
package sikeh;

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

@Controller
public class TestController {

	@RequestMapping(value = "/test.do", method = RequestMethod.POST)
	public String get(String name, Model model) {
		model.addAttribute("name", name);
		return "test";
	}
}


6) Create the View, in this case test.jsp under /WEB-INF/views/
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page isELIgnored="false"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</head>
<body>
Hi,
<c:out value="${name}" />
<br />
It works!
<br />
<a href="/index.jsp">Back</a>
</body>
</html>

// please notice isELIgnored must be set to enable JSTL in GAE/Java


Congrats, depoly to GAE and have fun

Live demo -> http://sike-java.appspot.com/

  • 大小: 16.7 KB
11
1
分享到:
评论
7 楼 yuyanshan 2010-09-27  
// don't use spring.jar (all-in-one jar), it will throw java.lang.NoClassDefFoundError: javax/naming/NamingException,
probably due to the fact that GAE/Java doesn't support EJB (javax.naming?)
我的程序在本地没有问题,但是上传上去就报这个,我用的包是2.5.6,你用的是3.0吗?
6 楼 蓝月鸟 2009-05-29  
lw223 写道

qsrock 写道
看来看去都是springMVC,究竟和GAE有什么关系呢??

GAE上可以用springMVC,这下明白了吧。


什么VC不VC的,只要那些个包的规范符合就行了嘛..
5 楼 sikeh 2009-04-12  
这里给出了GAE支持的框架、语言、库
http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine
4 楼 lw223 2009-04-11  
qsrock 写道

看来看去都是springMVC,究竟和GAE有什么关系呢??

GAE上可以用springMVC,这下明白了吧。
3 楼 qsrock 2009-04-10  
看来看去都是springMVC,究竟和GAE有什么关系呢??
2 楼 wangxin0072000 2009-04-09  
支持,马上去试。留名
1 楼 yanhua 2009-04-09  
太棒了,支持

相关推荐

    spring+gae

    【标题】"Spring+GAE"揭示了将Google App Engine(GAE)与Spring框架集成的主题,这是一个在云端运行Java应用程序的关键技术组合。Spring是一个广泛使用的开源Java框架,提供了依赖注入、面向切面编程和MVC(模型-...

    springongae

    Spring on GAE,即Spring框架在Google App Engine (GAE)上的应用,是将流行的Java企业级开发框架Spring与Google的云计算平台Google App Engine相结合的技术实践。本文将深入探讨Spring on GAE的相关知识点,包括其...

    spring+gae+hibernate

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

    Struts2,Spring,JDO,AJAX on GAE

    这篇博客“Struts2,Spring,JDO,AJAX on GAE”可能探讨了如何在Google App Engine (GAE)平台上整合这些技术来构建高效且可扩展的Web应用。 1. Struts2:Struts2是一个基于MVC(Model-View-Controller)设计模式的...

    gae strus2 spring 整合

    【gae strus2 spring 整合】是一种在Google App Engine(GAE)平台上将Struts2和Spring框架集成的技术方案。这种整合旨在充分利用Struts2的MVC架构和Spring的依赖注入(DI)以及面向切面编程(AOP)能力,以构建高效...

    spring3+springmvc+jpa2+gae

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

    spring-gae-app:spring-gae-app

    示例 Spring MVC、Spring Security、JPA、Google App Engine 应用 需要 3.1 或更高版本,以及 JDK 7+ 才能运行。 要构建,运行 mvn package 构建将运行测试,但要显式运行测试,您可以使用测试目标 mvn test 要...

    基于GAE的Demo

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

    Resteasy_Spring_GAE_sample:使用 Resteasy 和 Spring 的示例项目,在 Google App Engine 上运行

    【标题】"Resteasy_Spring_GAE_sample"是一个示例项目,它展示了如何在Google App Engine(GAE)上结合使用Resteasy和Spring框架。这是一个关键的开发实践,因为GAE是一个流行的云平台,用于部署Java应用程序,而...

    Surgo-django-on-gae

    【标题】"Surgo-django-on-gae" 指的是在 Google App Engine (GAE) 上运行 Django Web 框架的项目或教程。Django 是一个高级的 Python Web 开发框架,它遵循“干”(Don't Repeat Yourself)原则,提供了许多开箱即...

    GAE使用规则

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

    gae-pytorch-master_pytorch_pytorchgae_GAE_自编码器_gaepytorchmaster_

    【标题】"gae-pytorch-master_pytorch_pytorchgae_GAE_自编码器_gaepytorchmaster_" 提供的信息表明,这是一个使用PyTorch实现的图自编码器(Graph Autoencoder, GAE)项目,其核心是将自编码器的概念应用于图数据。...

    GAE入门教程

    pass之GAE入门教程, 学习GAE

    gae_in_pytorch-master_GAE_

    **图形自动编码器(GAE)在PyTorch中的实现** **一、GAE概述** 图形自动编码器(Graph Autoencoder, GAE)是一种应用于图数据的深度学习模型,它结合了自动编码器(Autoencoder)的思想与图神经网络(Graph Neural...

    GAE blog安装

    通常,Python博客应用可能会使用Django或Flask框架,而Java可能使用Spring Boot。 4. **源码管理**:在部署前,源代码应该被组织在一个版本控制系统中,如Git。这有助于跟踪更改,并确保团队合作时的一致性。 5. *...

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

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

    GAE之webapp框架

    ### GAE之webapp框架详解 #### 一、引言 在Google App Engine (GAE) 平台上进行Web应用开发时,选择合适的框架对于提高开发效率至关重要。其中,`webapp` 框架因其简洁高效而备受开发者青睐。本篇文章将详细介绍`...

    GAE-Spring-Boot

    mvn install)$ git clone https://github.com/scratches/spring-boot-sample-gae$ cd spring-boot-sample-gae$ mvn gae:deploy也作为部署在 WTP 或常规 Tomcat 容器中的 WAR 运行。 main()应用程序(普通的 Spring ...

    jieba-GAE:结巴中文分词 on GAE

    on Google App Engine demo : GAE有几个限制: 128M运行内存限制。 脚本执行时间限制。 禁止临时文件。 主要是针对这几个限制进行的处理。 处理后响应时间,免费配额的cpu,可以处理相当数量的请求。 处理后内存...

Global site tag (gtag.js) - Google Analytics