首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

GAE/J 开发有关问题总结一

2012-12-18 
GAE/J 开发问题总结一最近在GAE上做一些小开发,算是一些尝试,还遇到了不少问题,每一个问题,找解决答案,花

GAE/J 开发问题总结一
最近在GAE上做一些小开发,算是一些尝试,还遇到了不少问题,每一个问题,找解决答案,花了我不少心思.
一方面GAE/J上支持的框架,以及jre的支持类都有限制,所以我们平时开发的用到的技术,并不是都能用上.就是说对我们平时开发用的到技术或者框架,GAE/J有可能不支持,也可能是半支持状态.让人很是郁闷.
第二方面,GAE/J开发,目前还比较少,特别是在大陆,今年上半年老是被GFW墙,时好时坏,也挡住了.所以这方面的资料就比较少.如果只是这样就算了,更可气的是GAE/J在Google groups上的group讨论群也被墙了.看不到官方的英文文章或者国外同行讨论的问题.做技术这一行的都知道,很多技术难点突破方面,在国外的网站上比较好.

所以把开发中遇到的问题的情况拿出来晒晒:

1.JSTL,如果想在GAE/J上使用JSTL的话,默认是用不了的,就算你把jstl.jar,standard.jar都加到classpath里,c.tld也都加进到jsp里,所有的操作都准备好了.可是在GAE/J,你会看到页面输出的是jstl的一些标签.会让你非常失望.
解决方案是:
在jsp的页头加一个属性标志

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false"%>

就是这个isElIgored="false"

2.如果你是第一次在eclipse里跑一个GAE的web项目的,而且有加一些spring的包的时候,你会发现有一些java.exe的错误

解决方案是:
默认你的GAE/J项目里导入的是eclipse的jre包,此时你需要把jre换成jdk,才可以正常的run

3.数据存储,GAE/J数据存储时,是用key-object的方式,而且平时开发用于关系型的db操作方式没有办法进行.要用jdo的方式来操作.当用eclipse开发,然后在eclipse运行时,数据存储是存在WEB-INF/下的一个叫appengine-generated的目录 下.如果要清空数据只要把这个目录 删除 就可以了.

4.关于Spring,就到目前为止,在我的GAE/J的项目里,用到了spring3.0的MVC和JDO是没有问题,也用到了spring3.0的annotaion来进行注解和自动注入.


ava.io.IOException: Error posting to URL:
> 409 Conflict
> Another transaction by user is already in progress for this app and major
version. That user can undo the transaction with appcfg.py's "rollback"
command.
C:\Documents and Settings\John\My Documents\newproject>"C:\Program
Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.2.5.v200909021031\appengine-java-sdk-1.2.5\bin\appcfg"
rollback war


应用程序可以使用 java.util.logging.Logger 将信息写入应用程序日志。您可以使用管理控制台查看和分析您的应用程序的日志数据,或使用 appcfg.sh request_logs 下载日志数据。管理控制台可以识别 Logger 类的日志级别,并且以交互方式显示不同级别的消息。

servlet 写入标准输出流 (System.out) 和标准错误流 (System.err) 中的所有内容都由 App Engine 捕捉,并记录在应用程序日志中。写入标准输出流的行将以“INFO”级别记录,写入标准错误流的行将以“WARNING”级别记录。任何记录到输出或错误流的日志记录框架(如 log4j)都适用。但为了细化对管理控制台日志级别显示的控制,日志记录框架必须使用 java.util.logging 适配器。

目前GAE/J已经可以支持SLF4J+LOG4J是可以用的,我已经实践过!



热点排行