SAE Java相关问题小结
转自:http://blog.csdn.net/bhq2010/article/details/8580412
Sae中使用的servlet容器是jetty7.4.x
我想在web.xml中配置一个自己编写的servlet,实现web启动时的初始化工作,但是总是出现各种问题,下面总结了一下在sae中使用java的一些注意事项:
1、在eclipse中开发java web项目时,我总喜欢直接把需要的jar包复制到WEB-INF/lib下,但在开发sae项目时,最好把需要的jar包放到usr library里,然后将usr library添加到工程的build path中,这样不会把jar包打到war文件中。其实sae在jvm中实际加载的jar包并不是war中包含的jar包,所以在war中包含jar包也是浪费上传时间,还会造成不必要的麻烦(我发现如把servlet-api-2.5.jar打到war中上传后,web就没法正常启动)
2、本地的jar包最好与sae所支持的jar包版本一致或接近,不然的话你用的很happy的东西可能在sae上根本不支持。sae上支持的jar包参见:http://sae.sina.com.cn/?m=devcenter&catId=310,有些jar包在这里面没有列出来,比如servlet-api-2.5.jar,由于jetty7.4.x中用的时2.5的,自然也就应该在本地用这个版本的jar包
3、jre版本,在本地开发时,要注意jre的版本。sae中支持的时1.6,而且不是最新的1.6,如果sae的jvm日志中报Unsupported major.minor version 51.0类似的错,很可能是本地的jre版本过高了,在eclipse中,在web工程的属性->java compiler选项中设置目标jre版本,最好是1.5的(最新的1.6,sae也不支持),重新打war包上传、重启jvm即可
4、sae的jvm日志貌似有时候更新的比较迟缓,所以不要完全信赖这个日志。此外,在java中用System.out打印出的消息在jvm日志的notice类型中可以看到。
5、实测,sae中jvm启动大约需要20-30秒,一个jvm如果2-3小时没有被访问就会被回收,全部jvm被回收之后,有访问时系统会再次启动jvm,但会有大约1分钟的延迟(越大的应用可能延迟越大)。
SAE Java相关问题小结的更多相关文章
- 找工作--Java相关
Hi 各位 首先自我描述一下,80后程序员,现在在做Eclipse插件开发. 求Java相关职位(Java/Swing/Eclipse Plugin/Python etc), 或者Linux下C相关职 ...
- 收集一些java相关的文章
有些文章看了,以后想再看已经忘了在哪里了.故在此一一记录下那些值得看的文章. 1:如何确定Java对象的大小 中文版本 :http://article.yeeyan.org/view/104091/6 ...
- 分享一些JAVA相关资源
前言 以前在学习JAVA时,因为搜索相关资源过于不便,所以在搜集了一些好用的资源之后,将此分享. 文档主要包括面试文档, JAVA的技术文档(如JAVA并发实战.设计模式之类),LINUX的相关文档以 ...
- java并发包小结(二)
接上一篇 java并发包小结(一):http://blog.csdn.net/aalansehaiyang52/article/details/8877579 Future 接口Future 接口允许 ...
- 【java】Java相关学习参考链接(持续更新)
How to do in java,https://howtodoinjava.com/,Java手册,分版本,并且有每个版本的新特性的详细解析. Java World,https://www.jav ...
- 官网下载java相关资源
官网下载java相关资源 官网地址:http://www.oracle.com 一.下载JDK 1.首先进入Downloads >> Java For Developers,如图 2.点击 ...
- Java相关PDF书籍与教程免费下载
场景 我的CSDN: https://blog.csdn.net/BADAO_LIUMANG_QIZHI 我的博客园: https://www.cnblogs.com/badaoliumangqizh ...
- Awesome Java: Github上关于Java相关的工具
Awesome Java 这是Github上关于Java相关的工具,框架等等资源集合. 原文参考: https://github.com/akullpp/awesome-java. @pdai 最全的 ...
- java IO 流小结
java IO 流小结 java流类图结构 流的分类 按方向 输入流 输出流 按类型 字节流 字符流 结论:只要是处理纯文本数据,就优先考虑使用字符流. 除此之外都使用字节流.
随机推荐
- windows2003安全加固脚本
@echo off title= Windwos/index.html' target='_blank'>Windows Security echo. echo **************** ...
- MySQL的left join中on与where的区别
关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒 ON 条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行,即使on中包含有A表中的列 ...
- 给setTimeout和setIntreval函数添加回调参数
setTimeout和setInterval是两个很常见的计时函数.在以前,他们只接收两个参数,我们无法直接向他们的回调函数中添加参数,如果需要实现添加多个参数,可以在外层多嵌一层来实现类似的功能.现 ...
- 繁华模拟赛 Vicent与游戏
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #i ...
- hadoop学习之一
Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop的框架最核心的设计 ...
- zabbix再爆高危SQL注入漏洞,可获系统权限
漏洞概述 zabbix是一个开源的企业级性能监控解决方案.近日,zabbix的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆zabbix管理系统 ...
- 裸设备和Oracle问答20例
导读裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备.裸设备可以绑定一个分区,也可以绑定一个磁盘.本文收集裸设备和Oracle问答20例. 1.什么叫 ...
- HTML 笔记,持续更新
一.文本格式化标签 <b> 定义粗体文本. <big> 定义大号字. <em> 定义着重文字. <i> 定义斜体字. <small> 定义小 ...
- Bmob用户管理操作
注册用户 BmobUser bu = new BmobUser(); bu.setUsername("sendi"); bu.setPassword("123456&qu ...
- Mysql_以案例为基准之查询
查询数据操作