`

Google App Engine for Java 开发笔记

    博客分类:
  • java
阅读更多
最近使用GAE开发一个小应用,开发过程中发现几个问题在这里做下笔记备忘,同时希望对其他人也有所帮助。
问题一:只要在项目中添加JSP文件,再进行Deploy时就会报如下错误
Scanning for jsp files.
Compiling jsp files.
Compiling java files.
java.lang.IllegalStateException: cannot find javac executable based on java.home, tried "E:\Program Files\Java\jre1.5.0_16\bin\javac.exe" and "E:\Program Files\Java\bin\javac.exe"

解决办法:修改Eclipse的JRE路径配置(默认情况下Eclipse使用jre下的JAR包,解决上面的问题我们需要把Eclipse依赖的JAR包指向JDK下),具体步骤window->preferences->java->install JREs
问题二:jsp不支持EL
产生这个问题的原因有两个,GAE Eclipse插件生成的项目默认是使用servlet2.5的标准,而2.5版本是默认忽略EL的,所以JSP中使用EL会失效。另一个原因,插件生成的WEB.XML强制绑定了servlet2.3的DTD,如下所示
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">

servlet2.3版本是不支持EL的。所以上面这个原因才是真正导致EL在JSP中被忽略的原因。
我解决这个问题的办法是将WEB.XML的版本制定为servlet2.4版本,因为servlet2.4默认支持EL。操作方式就是去掉上面的DTD,然后加上下面的schema定义
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">	
分享到:
评论
4 楼 SeanHe 2010-05-25  
有没有试过使用servlet 2.4的DTD?
3 楼 jin52yang 2010-05-25  
我也遇到了同样的问题,我按照你的方法做了但是没有解决啊,希望帮忙一下。
我默认生成的WEB.xml是2.5版本的,不管是页面还是配置文件中添加不忽略EL,都是不好用的。
希望可以给我一些指点,谢谢!
2 楼 cng1985 2009-08-16  
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
1 楼 Laynepeng 2009-07-26  
使用GAE会遇到的问题多着了~~

最近这段时间GAE很不稳定阿,你没遇到问题吗?前段时间本来想把Blog搬到GAE的,但是每天总有几个小时访问不了,于是又撤回WP了~~

相关推荐

    web-notes:在Google App Engine上存储个人笔记

    描述中提到的“Appengine骨架”是指该项目基于一个基础的或模板式的代码结构,即appengine-skeleton。这是一个标准的起点,包含了在GAE上开发应用所需的基本文件和配置。它通常包括了如设置、路由、数据模型、用户...

    okinotes-appengine:Appengine 上的 Okinotes 前端

    Okinotes-appengine 是一个基于 Google App Engine 平台的前端项目,专为 Okinotes 应用程序设计,旨在提供一个高效、便捷的笔记记录和分享平台。通过这个应用,用户可以迅速创建个人笔记,并且能够即时分享给他人,...

    datawiki:DataWiki-用于...数据的Wiki!

    欢迎来到DataWiki项目页面:) DataWiki在Google AppEngine for Java平台上运行,因此也可以在专用网络上运行,也可以在现场在笔记本电脑上离线运行。 DataWiki具有下面列出的设计和功能,目前正在开发TODO项目。演示...

    Head First Python_ A Brain-Frie - Barry, Paul

    从标题和描述中,我们可以得知该书不仅涵盖了Python的基础语法,而且进一步深入到了如何将Python用于开发Android手机应用、Google App Engine等实际项目中。 本书的标题“Head First Python”暗示了其教学方法,即...

    谷歌师兄的leetcode刷题笔记-Coffee-Advisor:这个webhook管理GoogleAssistant的CoffeeAdvis

    谷歌师兄的leetcode刷题笔记咖啡顾问 这个 webhook 管理 Google Assistant 的 Coffee Advisor 应用程序。 它全部用 Node.js 编写,并使用 Actions On Google (v2) 的官方库。 它部署在 Firebase 函数上。 向我的兄弟...

    基于云计算的“Java程序设计”辅助教学平台研究.pdf

    其次,对于云服务平台的选择,考虑到谷歌的Google App Engine在中国不可用,而新浪的SEA平台需要收费,研究者选择了百会平台作为开发平台。百会平台的相关产品包括百会维基、百会论坛、百会聊聊、百会办公等,它们被...

    达内云笔记

    5. **云服务**:可能使用AWS、Azure或Google Cloud等云平台的服务,如S3(对象存储)、Lambda(无服务器计算)或App Engine(托管应用)。 6. **实时同步**:云笔记需要实现实时更新功能,可能涉及WebSocket或...

    云计算学习笔记干货分享

    例如,Google 的 App Engine 为开发者提供了基于 Python、Java 等语言的开发环境,大大简化了应用的开发过程。 #### 服务器、升级与虚拟化 - **服务器**: 在云计算环境中,服务器是提供计算资源的基础,需要具备高...

    WebRTCOnGAE:这是 GDG Korea DevFair 2014 演示文稿的个人视频通话制作 (WebRTC+GAE) 存储库。

    #创建个人视频通话(WebRTC + Google AppEngine) Repo 将用于 GDG Korea DevFair 2014 的 Codelab。先决条件这些是您继续使用此 Codelab 所需的内容。 由于多人同时访问代码实验室的网络,网络情况极有可能出现问题...

    JavaGoesGreen

    3. **云计算平台**:许多流行的云计算平台如Google App Engine、Amazon Web Services等都支持Java。通过云服务,企业可以按需分配资源,避免过度配置,从而节省能源。 4. **绿色应用程序**:开发者可以利用Java开发...

Global site tag (gtag.js) - Google Analytics