完整描述见这里:(要fuckgfw)
http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine
Spring MVC
Version: 2.5.6
Status: COMPATIBLE
To see Spring's MVC framework running on App Engine, check out the autoshoppe sample application.
If you're using Spring forms (e.g. using the spring-form.tld tag library and subclassing SimpleFormController), you will need to register custom editors for your properties. This is covered in http://groups.google.com/group/google-appengine-java/browse_thread/thread/d93fd7385bf85bf7.
Spring ORM
Version: 2.5.6
Status: COMPATIBLE
To get Spring working with the App Engine-provided JPA interface, follow the instructions at http://objectuser.wordpress.com/2009/05/19/spring-jpa-in-google-app-engine/, which discusses a workaround to the dependency on javax.naming needed for @PersistenceContext. A more complex workaround is available at http://groups.google.com/group/google-appengine-java/browse_thread/thread/187d41712ec1d394.
Spring Security
Version(s): ?
Status: SEMI-COMPATIBLE
To work around a ClassNotFoundException, you can use a re-compiled version of the library which adds a StringInsensitiveComparator class -- the download is provided at http://www.google-app-engine.com/blog/post/Spring-security-fix-for-google-app-engine.aspx.
See http://www.dotnetguru2.org/bmarchesson/index.php?p=1100 for tips on how to get Spring Security running with App Engine and GWT (in French).
See http://groups.google.com/group/google-appengine-java/browse_thread/thread/964e7f5e42840d9c for discussion on the integration.
Stripes Framework
Version(s): ?
Status: COMPATIBLE
The default multipartwrapper implementation needs a temporary directory on the local file system for file uploads, which App Engine doesn't allow. The workaround is to create your own implementation -- more details at http://groups.google.com/group/google-appengine-java/browse_thread/thread/81dbcf7cf2281014.
Struts 1
Version: 1.2.28
Status: COMPATIBLE
Struts 2
Version(s): ?
Status: COMPATIBLE (see notes)
Struts will not initially work because the OGNL permissions which the framework relies on can't be set due to security restrictions in App Engine's sandbox. However, some users have documented a workaround at http://groups.google.com/group/google-appengine-java/browse_thread/thread/19018b0317f27817.
A tutorial is available at http://whyjava.wordpress.com/2009/08/30/creating-struts2-application-on-google-app-engine-gae/.
A tutorial on uploading files using Struts running on App Engine is available at http://whyjava.wordpress.com/2009/10/04/file-upload-on-google-app-engine-using-struts2/.
Will need to set devMode to false in struts.xml: <constant name="struts.devMode" value="false" />
A group post detailing this is here: http://groups.google.com/group/google-appengine-java/browse_thread/thread/b78fea68441eaf4e/4eec677cef795e03
这个人的博客上也描述了如何使用 Struts 2 with App Engine:
还有这个博客,关于GAE、Spring、JPA、JDO 内容非常丰富:(要fuckgfw)
- Spring + JDO in Google App Engine
- 17 Minute JDO!
- Spring + JPA in Google App Engine
- More on Spring Security in Google App Engine
- Spring Security in Google App Engine
- Google App Engine Testing with Spring
- Queries in GAE: One to Many Relationships
- Google App Engine
- Queries in GAE: Many to Many Relationships
- Queries in GAE: One to One Relationships