当你不知道的时候,觉得一切都是正常的。直到有一天得知(但忘了是从哪儿知道的了,或者是谁告诉我的?),eclipse可以调试jsp,那一刻的心情就像久陷囹圄的囚犯获得了自由,于是马不停蹄的上网,从每个网页寻找有用的资料。
简要说一下,我们的开发环境是jsp+servlet+tomcat+oracle,对页面的操作也特别多,所以我们每个人都有两大痛处:javascript和jsp。在js里的调试就是alert,在jsp以及servlet里就靠writelog了。编译不通过的时候,tomcat就给你一个大白板,你说痛苦不痛苦?
摸索共分了两个阶段,都有阶段性的成果。
第一个阶段(04年7月份左右),是在jdk1.3.1 + tomcat4.1.27 + Eclipse2.1.2配置下(eclipse插件是tomcatPluginV221和lomboz.213)。大家都知道,jsp是在servlet之后才出来的,而jsp只是servlet的美丽的外包装,它只是简化的servlet,最终是要通过服务器转变成servlet然后才编译运行的。但是tomcat转化成servlet后的文件都放在了package org.apache.jsp下,就这一个地方,耽误了好长时间。以至于每次eclipse能够refresh project后能够获得最新转化的jsp-servlet代码,但是debug的时候就不能正确的进入代码,老是报“source not found”的错误。这个弄得放弃了一段时间。后来被迫做了接近一年的dotNet的东西,于是这个就一直搁置下来了,但是我一直都想着能够调试jsp,做梦都想。
第二个阶段(05年8月),工作又做回了一年前的东西。于是调试jsp的年头也重新点燃了。还是上网(这里要感谢广大的网友和google的搜索,一年来相同的关键字已经替换了不同的网页了。)从某处得知这一消息,原来是tomcat的版本在搞怪,5.0以下的都不会根据你设定的workdir去放置转换后的servlet,所以会找不到source。于是所有的都升级了,变成了jdk1.4.2 + tomcat5.0.28 + Eclipse3.0(没用tomcat5.5,原因它需要装jdk1.5,而jdk1.5还没有用过,所以不敢贸然使用)同样经过了一堆摸索,终于见到了曙光,能够走进转换后的servlet了,但是问题又来了,变量的值不能实时查看了。搞了好久也找不到原因,开始失去信心了。最后带着一点希望搜索了一下“jsp debug”,发现了myeclipse这个插件,下载下来,有50多兆,安装之后,发现它继承了tomcat和j2ee的东西,试着建了一个web project,嘿嘿,这回好使了。但是美中不足的是,转换后的servlet打断点,从页面访问的时候不能够截获,只有在真正的servlet里才能截获,不知道这是什么原因。还望牛人赐教。
以上就是我的试图通过eclipse来调试jsp的过程,虽然还有美中不足,但是我还是希望能够和大家讨论一二。