研究生进入实验室项目后,开始用Google的Gwt进行Ajax的应用程序开发。开发环境采用eclipse3.6+GAE2.2,从开始使用,就碰到一些很奇怪的问题,去网上搜也没人解答,每天在那里实验不断和项目组一个童鞋研究,找到了问题的根源,在这里总结出来,以供大家遇到类似问题作为参考。
- 404 Error
- 添加断点不能调试
上述这两种问题一般由同一个原因引起,那就是在Dev mode下浏览器上访问页面时,server上访问的是别的以前历史的application的页面,所以会出现找不到资源404 Error,对于在java代码中添加的断点,当前访问的是这个application的历史数据,那个历史数据中可能java代码中还没有添加断点,所以每次运行时不能进入调试。
结合下面这幅图进行说明:
图中第一行显示的 时间是下午02:49分,但运行程序的时间实际上是晚上,也就是说你现在运行的是前面的历史数据,所以会出现访问不到现在最新的资源,因而出现404 Error。
解决方法:
如何解决上面说的那种错误呢?
引起那个错误的原因在于你每次访问一次,development mode都会有一个instance,如果你每次运行一次,下次重新运行另外一个project,则会出现下图的情况:
上面有两个运行过的insatnce:HelloWorld和Test..每次运行结束之后,我要重新一个新的project时,没有terminate那个刚才运行的instance,每次这样重复着,随着你的项目的增多,instance的数量增多,所以每次访问当前运行project的页面资源时,可能就会发生上面的404 错误,因为其实服务器上访问的还是之前的历史数据(可能是别的project的),所以,每次运行完一个project后,最后在上面右边那个terminate将其终止,保证左边list中的所有运行过的instance是终止的。如下图所示:
这时候运行一个project就不会出现上面所说的错误,保证访问到资源数据都是当前最新的数据。
BTW:左边被终止到的list其实可以在右边红点旁边那个进行删除。
对于遇到的上面两种问题,进行了问题跟踪和总结,解决方案供大家参考!希望可以帮到大家~~O(∩_∩)O~