Footprints on the sands of time

这个短语金山词霸上说是:岁月虽逝而足迹犹存,我觉得更像是:足迹虽逝而岁月犹存

原创 Eclipse, Lomboz and Tomcat 的 JSP 调试收藏

新一篇: Google的力量 | 旧一篇: 再谈 .NET 和 Java

前面两篇文章已经罗嗦了很多设置问题(参考:1. Eclipse 3 + Lomboz 3 + Tomcat 5 开发网站 2.Eclipse, Lomboz and Tomcat 的 Web Project 设置),其实如果前面的设置都没问题了,调试就很简单了,水到渠成。

在写调试前要说明一点,编程序的同行都知道,所谓程序错误大致应该有两类,编译错和运行错。现在流行的IDE几乎都可以在编辑的时候查出大部分的编译错。然后给你提示。Eclipse也不例外。写Java程序的时候,编辑框边上那些红点,黄点就是了。装了Lomboz以后,JSP的编译错也能提示了。这类错就谈不上什么调试了,编译都通不过。直接改过来就是了。

另一类是运行错,这是比较麻烦的,不好找,记得在ASP时代,我们总是Response.write找错,直到visual studio .net 2003 也不能跟踪aspx地执行(当然code behind可以,但apsx页面里的代码不行),以前没有lomboz的时候,也是out.print,真是很累人。

废话一堆,开始讲正题。(今天换了台机,用的是final版的eclipse 3,屏幕拷贝的细节可能有点不一样,应该不是问题)

启动tomcat前还有一个重要的设置,为你的web project建立一个tomcat的配置文件,位置在tomcat目录下的conf\Catalina\localhost,文件可以起任意名字,但一定要用xml的扩展名(总之要符合tomcat的规矩了)。配置文件的内容很简单,比如我的project 叫blog,那配置文件(blog.xml)的内容就是:

< Context workDir="h:/project/blog/j2src" reloadable="true" debug="0" docBase="h:/project/blog/blog" path="/blog" / >

就一行字,你也可以把它放在server.xml里,这里没时间讲tomcat的配置了。

最后把tomcat启动起来,点那个齿轮按钮就可以了。

这是tomcat启动以后的提示信息:

下面的步骤很重要,tomcat启动以后,打开浏览器,输入调适的页面地址,比如:http://localhost:8080/test/index.jsp,我的测试网页index是这样的。

< html >
< jsp:useBean id="user" scope="page" class="test.User" />
< %
 String template = user.get("template");
 template = ((template.length()==0) ? "default":template);
% >
< head >
< meta http-eqouiv="expires" content="0" >
< link href="style/<%= template %>.css" rel="stylesheet" type="text/css" >

...

我们想看看在实际执行中,template的值到底付上了没有,就要在他后面加一个断点。怎么做呢?

回到eclipse,右键点project名,再弹出的菜单里选刷新,把整个project的文件刷新一次。这时候,magic出现了,j2src下有东西了,跟着目录一直走到 H:\project\blog\j2src\org\apache\jsp,你就可以看到你想要的东西了。index_jsp.java, index._jsp.class。打开index_jsp.java(他就是tomcat根据你的jsp文件生成servlet,调试就靠它了),设上断点。切回IE,刷新刚才的页面,任务栏的eclipse在闪呀闪,切回eclipse,他已停在断点上了。

看到template的值没有?有必要还可以改他,想不到在jsp里也可以为所欲为。

另外那些bean的调试就比较简单了,和一般的java文件一样,这里就不再罗嗦了。

这里东西有点多,总结一下:

  • 注意那个只有一行的配置文件(blog.xml),它是有讲究的。

  • 调试jsp文件前,先运行他,让tomcat生成他的servlet,我们要调试的其实是servlet

  • 记得刷新你的project,好看到那些动态生成的servlet文件,然后设断点。

注意这些细节,大家多交流。

参考我的修订内容(2004.10.11):Eclipse 3 + Lomboz 3 + Tomcat 5 (四)修订和补遗

再此发表的有关 Eclipse, Lomboz and Tomcat 系列的文章均属本人原创,转摘或引用请注明出处。

到此,我的关于 Eclipse, Lomboz and Tomcat 开发的文章告一段落,其实还有很多东西可写(数据库部分不写了),但因为比较忙,就没法细交代了。大家发现的问题,可以在留言里交流。

发表于 @ 2004年07月25日 22:02:00|评论(loading...)|编辑

新一篇: Google的力量 | 旧一篇: 再谈 .NET 和 Java

评论

#JustinGr 发表于2004-09-17 18:03:00  IP:
TrackBack来自《Eclipse, Lomboz and Tomcat 的 Web Project 设置 》

Ping Back来自:blog.csdn.net
#china2wto 发表于2004-10-04 01:18:00  IP:
TrackBack来自《Eclipse 2.1, Lomboz 2.1.3 and Tomcat 5 的 JSP 调试》

Ping Back来自:blog.csdn.net
#liumyong 发表于2004-12-09 22:12:00  IP:
TrackBack来自《Eclipse, Lomboz and Tomcat 的 Web Project 设置 》

Ping Back来自:blog.csdn.net
#tylx 发表于2005-07-04 15:31:00  IP:
TrackBack来自《Eclipse, Lomboz and Tomcat 的 Web Project 设置 》

Ping Back来自:blog.csdn.net
#alexlex 发表于2004-07-26 01:41:00  IP: 202.175.74.*
谢谢^o^
#luhao 发表于2004-07-26 02:01:00  IP: 222.95.10.*
那配置文件(blog.xml)的内容就是:


就一行字,你也可以把它放在server.xml里,这里没时间讲tomcat的配置了。

我怎么看不到内容是什么呀????
#sonic 发表于2004-07-26 04:27:00  IP: 202.38.97.*
怎么打开启动tomcat的界面啊?
#dawave 发表于2004-07-26 06:29:00  IP: 202.84.17.*
那配置文件(blog.xml)的内容就是:


就一行字,你也可以把它放在server.xml里,这里没时间讲tomcat的配置了。

我怎么看不到内容是什么呀????

嘻嘻,是我忘记去掉那个尖括号了,他变成了html标记了。

现在已经改好了。
#today 发表于2004-07-26 06:30:00  IP: 61.171.21.*
to luhao:
http://www.objectlearn.com/support/docs/debuggingJSP.jsp
#today 发表于2004-07-26 06:32:00  IP: 61.171.21.*
谢谢dawave。已经有了。
#dawave 发表于2004-07-26 06:36:00  IP: 202.84.17.*
怎么打开启动tomcat的界面啊?

在你的工具栏里应该有一个打开lomboz的按钮,如果没有,需要在菜单里打开他,你可以参考lomboz的说明,已经很详细介绍了。这是安装的一部分。

#laji2003 发表于2004-07-29 03:08:00  IP: 202.108.45.*
我严格按照你说的配置的::但总是有下面的问题!!
Bootstrap: Class loader creation threw exception
java.lang.ExceptionInInitializerError
at org.apache.catalina.loader.StandardClassLoader.<clinit>(StandardClassLoader.java:207)
at org.apache.catalina.startup.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:189)
at org.apache.catalina.startup.Bootstrap.createClassLoader(Bootstrap.java:160)
at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:104)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:193)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:399)
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException))
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.apache.tomcat.util.compat.JdkCompat.<clinit>(JdkCompat.java:55)
... 6 more
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.NullP
#Millennium 发表于2004-07-29 03:30:00  IP: 210.83.202.*
搂主你好:
首先谢谢你的文章。
我这儿的问题是在Lomboz J2ee View中launch Tomcat的时候总是抛异常以至于服务器始终不能启动:
Bootstrap: Class loader creation threw exception
...
请问这样的问题应该如何解决??
#Millennium 发表于2004-07-29 03:31:00  IP: 210.83.202.*
呵呵 ,不好意思,楼上的哥们同我的问题一样~~~~~~
#dawave 发表于2004-07-29 08:54:00  IP: 66.119.34.*
关于启动tomcat异常,我的经验有两点(个人经验,不知道能不能解决问题):

1.首先确保你的tomcat用自带的那个批处理文件可以正常启动,就是startup.bat,在bin目录里的。如果不行,那一般是路经或者环境变量的问题(也可能是注册表问题,如果你用service)。

2.注意版本的细节,我在一台机上装eclipse 3m6 + lomboz3 for m6 + tomcat 5.0.18,一切正常,但换成tomcat 5.0.27就不能启动。另一台机上装eclipse 3 final + lomboz 3 final + tomcat 5.0.27,一切正常。有时候这些版本的细节很烦人,而且更新得又快,开源软件的通病了。

希望对你们的调试有用。
#Millennium 发表于2004-07-30 01:02:00  IP: 210.83.202.*
已经琢磨了1整天:
估计还是同各个软件的版本有问题。楼主能否把自己用的确切的版本说一下。
我的环境是:
Eclipse 3.0 Latest Release版/Lomboz 3.0版/Tomcat 5.0.27。
尝试了好多次,全都是Bootstrap: Class loader creation threw exception 这样的异常...更奇怪的是,我用在apache 的站点上下的tomcat 4.1.30版本,也出现这样的问题...而用jbuilder9自带的tomcat 4.1.24版本的时候,就没有问题,可以正常启动,如果有时间的话,楼主能否再尝试一下别的版本呢?

(另外:我的环境中,各个版本的tomcat都可以单独运行)
#vulcan 发表于2004-07-30 02:00:00  IP: 202.113.35.*
不知怎么的,用tomcat5.0.25就好了,今天换了太机器发现上面有老版的tomcat
#dawave 发表于2004-07-30 07:31:00  IP: 209.195.89.*
首先谢谢 laji2003 的提示,上lomboz去看了看,是有人提了一个可能的解决方法,实在不行的大家可以试试(我没试过,不知道行不行,祝大家好运)。

Possible solution:

I edited the file "tomcat50x.server" under
C:\eclipse\plugins\com.objectlearn.jdt.j2ee_3.0.1\servers
and changed

-Djava.endorsed.dirs="${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed"

to

-Djava.endorsed.dirs="${serverRootDirectory}/common/endorsed"

in the following 'tags':

<startVmParameters>-DJAVA_HOME="${jrePath}" -Dcatalina.base="${serverRootDirectory}" -Dcatalina.home="${serverRootDirectory}" -Djava.io.tmpdir="${serverRootDirectory}/temp" -Djava.endorsed.dirs="${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed"</startVmParameters>

and

<stopVmParameters>-DJAVA_HOME="${jrePath}" -Dcatalina.base="${serverRootDirectory}" -Dcatalina.home="${serverRootDirectory}" -Djava.io.tmpdir="${serverRootDirectory}/temp" -Djava.endorsed.dirs="${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed"</stopVmParameters>

This matches the value used in my catalina.bat file when lauched from the command prompt.


原文在这里:

http://forge.objectweb.org/forum/forum.php?thread_id=1028&f
#laji2003 发表于2004-07-30 02:38:00  IP: 222.20.40.*
对呀,把tomcat5.27换成5.24就好了
这个问题在lomboz的主页上也有,不知道是不是5.27的bug????
http://forge.objectweb.org/forum/forum.php?thread_id=1053&forum_id=360
#vulcan 发表于2004-07-29 21:39:00  IP: 202.113.34.*
谢谢你的详细说明,但是我还是出现和我当初一样的问题,和上面的人回复的贴的出错信息一样.可能是版本的问题吧,我的是eclipse最新版+tomcat5.0.27细节问题和出错原因还未查明.
#稻草上的火鸡 发表于2004-08-03 00:02:00  IP: 202.113.34.*
一旦tomcat能启动,则在启动过程中的大部分错误我发现是由于使用了中文文件名造成的,大家最好把工程所处文件夹用英文名字。也许这是由于楼主所说的tomcat 配置文件blog.xml中不支持中文所导致。
#boby1863 发表于2004-08-15 05:28:00  IP: 218.14.255.*
刚才那个错误解决了,下面这个错误:
请问怎么办????????如下:
严重: Error deploying configuration descriptor bo.xml
java.io.IOException: org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
#dawave 发表于2004-08-15 08:49:00  IP: 65.202.80.*
哥们,你的configuration文件有错呀。XML document structures must start and end within the same entity.
#dawave 发表于2004-08-16 15:20:00  IP: 209.161.199.*
你的本机地址对吗?单独启动tomcat试试。
#我有这个错误,怎么办??? 发表于2004-08-15 04:16:00  IP: 218.14.255.*
StandardServer.await: create[8005]: java.net.BindException: Address already in use: JVM_Bind
java.net.BindException: Address already in use: JVM_Bind
#boby1863 发表于2004-08-17 04:00:00  IP: 219.129.15.*
还是不行啊,是不是应用只能放在tomcat下的webapps下啊??
#boby1863 发表于2004-08-16 23:11:00  IP: 219.129.54.*
单独没有错啊,非常正常,我已经按照您的方法重试很多次了,是什么原因????????望相助!
#boby1863 发表于2004-08-16 23:20:00  IP: 218.14.198.*
把整个project的文件刷新一次也没有任何变化,我很想知道是什么原因啊!希望你能帮我解决~
#boby1863 发表于2004-08-16 23:26:00  IP: 218.14.198.*
究竟是不是我的project放错地方了?还是还有什么做错了?刷新project没有反映,真急啊!!!!!!
#boby1863 发表于2004-08-16 06:33:00  IP: 219.129.14.*
哦,那个问题解决了,我现在有遇到这个问题了:
我已经把eclipse3.0+tomcat5.0.25+lomboz301+emf-sdo-runtime-2.0.0配置起来,并且在eclipse中可以正常启动tomcat,我建立了一个工程bo,默认下有index.jsp,但是打开浏览器http://192.168.0.1:8080/bo/index.jsp有错误:
type Status report

message /bo/index.jsp

description The requested resource (/bo/index.jsp) is not available.


--------------------------------------------------------------------------------
请问什么原因?我的工程不是建立在tomcat下的webapps下,但是我有在C:\Tomcat 5.0\conf\Catalina\localhost下建立了一个bo.xml配置文件,急啊!!
我的bo.xml内容为:
<CONTEXT workdir="D:/jsp/project/bo/j2src" reloadable="true" debug="0" docbase="D:/jsp/project/bo/bo" path="/bo"/>
#dawave 发表于2004-08-17 06:15:00  IP: 65.202.80.*
你的问题要一步步分析:首先,在eclpse里启动后,访问一下别的目录,比如根目录,文档目录,何其中的jsp demo,成功后,放一个静态html文件在你的bo里,试着访问。这些如果没有问题,再看是不是环境变量问题,比如没有找到jdk,而是指到了jre。
#boby1863 发表于2004-08-17 06:19:00  IP: 219.129.15.*
谢谢你啊!我的问题终于解决了!!多谢你啊!还有你的好文章,继续努力啊!!!!!1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#submarine 发表于2004-08-17 02:52:00  IP: 218.94.6.*
把workdir改成workDir刷新就可以看到产生的servlet文件了,请楼主修改大小写!!!!!!!!!!!!!

< CONTEXT workDir="h:/project/blog/j2src" reloadable="true" debug="0" docBase="h:/project/blog/blog" path="/blog" >



#hhee 发表于2004-08-23 04:08:00  IP: 210.83.203.*
我配置了一天,可以开发jsp了,但是始终无法调试jsp,
我使用的是Eclipse3+Lomboz3+tomcat5.0.19,j2src文件夹始终是空的,无论我怎样刷新,classes文件夹里也是空的.无奈!
#dawave 发表于2004-08-24 10:15:00  IP: 209.161.199.*
To: hhee,不知道你的问题解决了吗?j2src空一般是config文件的问题,tomcat里的那个,比如我文章提到的blog.xml,注意WorkDir的设置。
#melon 发表于2004-08-25 09:38:00  IP: 219.153.62.*
<Context workDir="D:/eclipse/workspace/CRM/j2src" path="/CRM" docBase="D:/eclipse/workspace/CRM/web" debug="0" reloadable="true"/>

这样写有问题吗,为什么我的j2src里面怎么刷新都没有啊
#lante 发表于2004-08-26 11:17:00  IP: 220.112.39.*
1. <Context workDir="E:/job/eclipse/workspace/demo/j2src" reloadable="true" debug="0" docbase="E:/job/eclipse/workspace/demo/demo" path="/demo" >
</Context>
这句话最好是这样写。
2、我使用了Tomcat5。27, 错误的修改确实如版主的那篇英文文章所言。因为 tomcat定义的 set JAVA_ENDORSED_DIRS=%BASEDIR%\common\endorsed仅仅是这个目录,但是在E:\job\eclipse\plugins\com.objectlearn.jdt.j2ee_3.0.0\servers目录下的tomcat50x.server文件里定义的 endorsed.dir多了一个bin目录。只要删掉这个bin目录就可以了。很奇怪为什么lomboze犯了这样的低级错误。如果哪位大侠熟悉其中原理,还望告知
#学手 发表于2004-08-27 01:16:00  IP: 202.102.185.*
tomcat启动以后,打开浏览器,输入调适的页面地址,比如:http://localhost:8080/test/index.jsp,我的测试网页index是这样的。


里面的test和demo 还有blog什么关系 ?
#luckcape 发表于2004-08-27 09:30:00  IP: 202.120.224.*
我tomcat启动了,断点也设好了,但是刷新index.jsp后,并没有像楼主说的eclipse闪阿闪的,不知道是哪里没设好?
#我也是 发表于2004-08-27 11:50:00  IP: 61.136.55.*
我也是没办法调试
其他都正常
eclipse3.0.0+lomboz3.0+tomcat 5.0.18
#haha 发表于2004-08-27 12:17:00  IP: 218.12.196.*
调式的时候,我设了断点,然后回到ie,刷新页面,可是并不在断点处停止,怎么办?

答:手工修改_jsp.java,如空白处加个回车,然后再把回车删了,然后加断点,然后点保存,然后再去刷新页面。这样就好用了,在这之后,无论你再怎么加减断点都不用保存就能可以直接生效了!

PS:这个问题折腾了我老半天,Forge也有人问过类似的问题,可是没人回,我 开始一直怀疑是不是哪儿设置不对.....后来灵光一现,是不是加断点后的.java并没有重新编绎成.class,所以无论我怎么刷IE里的.jsp,也只是一直运行的加断点前的那个.class。所以就有了上面的解决方法;可是为什么只有第一次是这样,而第二次以后就又正常了呢?不懂!如果有其它什么办法或解释还请大家分享一下,谢谢!
#Alex 发表于2004-08-31 11:30:00  IP: 220.113.168.*
修改了配制(xml)文件后,是不是要重新启动tomcat,有没有快速重启的方法?好像没有重启按钮 :)
#Alex 发表于2004-08-31 11:32:00  IP: 220.113.168.*
我在ie中输入网址http://localhost:8080/demo/index.jsp
提示这个错误
HTTP Status 404 - /demo/index.jsp

--------------------------------------------------------------------------------

type Status report

message /demo/index.jsp

description The requested resource (/demo/index.jsp) is not available.

请问应该怎么解决
#Alex 发表于2004-08-31 11:34:00  IP: 220.113.168.*
调试jsp文件前,先运行他(((请问怎么运行他?))),让tomcat生成他的servlet,我们要调试的其实是servlet
#happyvenus 发表于2004-09-02 09:27:00  IP: 61.177.196.*
花了一个小时。看完了楼主所写的有关eclipse和lomboz的文章。
感觉很精彩。楼主说的我不说了。我说几点。首先是有关对tomcat生成的.java文件的设置断点的问题。我采用的是让lomboz在生成一个j2ee工程的时候。在项目属性里面直接写入server.xml或者写在Catalina文件夹下。不知道是哪个的问题。在启动文件中。多了一个workdir.后来我发现那个是决定是否能正常设置断点的关键。其次我也遇到了无法启动的问题。按照楼主的建议。我删除了lomboy下的那段无法看起来无法理解的多余的配置。就正常了。其他的都按照楼主所说,非常正确。非常经典。谢谢楼主的心情劳动。
QQ:7064821
#happyvenus 发表于2004-09-02 09:42:00  IP: 61.177.196.*
刚准备睡觉。表面上调试完毕。习惯再看看自己的作品的时候。发现当我删除了server.xml中那段看似多余的话后。虽然可以正常通过lomboz启动tomcat。但是发现了第一个明显的问题。就是启动时间明显缩短了。这让我怀疑出了什么新的问题。果然,在我访问我的jsp文件的时候。其实就是系统漠然默认的index.jsp和error.jsp的时候。发现虽然可以正常连接到页面。但是看不到任何显示了。因为我只删除了那些设置。所以我感觉那些不能删除。只是今天和这几天有其他东东要搞。就摆脱楼主找找原因了。这两天实在很忙。又要学日语。又要做东西。
#dwave 发表于2004-09-06 14:59:00  IP: 63.164.143.*
很久没来看了,想不到还有朋友在关心,先谢谢大家。

统一的回答一些问题:

To ALex: 先运行就是打开浏览器调用一次,就把你写的那个网运行一次。不能显示结果一般有两个可能,tomcat没有设置好(用一个html文件试试),或者是jsp出错了。

已经不知一位朋友提到要手工修改_jsp.java文件了,其实没有必要,如果一定要修改才工作,那你的设置还是有小小问题(我没有去细查)。

To luckcape: esclipse 不闪表明断点没有扑捉到,这里原因很多,比如根本没有运行到你设断点的地方。要仔细查才行。
#tim 发表于2004-09-12 22:23:00  IP: 222.66.5.*
To ALex:不能调试的问题可能是因为你启动Tomcat时没有用debugger server
#dawave 发表于2004-09-15 10:26:00  IP: 209.161.199.*
To whimp: 其实这个问题的最好解决办法是用5.0.25,这个版本没有任何问题,也不用改那个server文件。
#whimp 发表于2004-09-15 04:06:00  IP: 218.76.53.*
开始在eclipse里也打不开tomcat 改了哪个.server文件就可以运行了
但一个页面也打不开 报错
2004-9-15 17:07:54 org.apache.jasper.runtime.JspFactoryImpl internalGetPageContext
严重: Exception initializing page context
java.lang.NoClassDefFoundError: org/apache/commons/el/ExpressionEvaluatorImpl
at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:99)
at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:61)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:32)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:106)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.
#windjet 发表于2004-09-17 07:03:00  IP: 210.145.93.*
我的工程建好了,不过用的是低版本,Eclipse2.11,Lomboz and Tomcat 4.1得环境,tomcat启动以后,可以访问到测试网页index,但我现在更关心的是随后的问题,即怎么和servlet联动的事,如何做servlet,放什么地方,该如何设置,谁能提示一下,非常感谢!最好有一个通过servlet从一个jsp调另一个jsp得例子,谢谢!
#ryu3hou 发表于2004-09-19 02:52:00  IP: 210.83.203.*
# 回复:Eclipse, Lomboz and Tomcat 的 JSP 调试 2004-09-12 10:23 PM tim
To ALex:不能调试的问题可能是因为你启动Tomcat时没有用debugger server
==================================
2004/09/19 15:46:41 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1をポート8080で初期化します
2004/09/19 15:46:41 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 2219 ms
2004/09/19 15:46:41 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2004/09/19 15:46:41 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/5.0.16
2004/09/19 15:46:41 org.apache.catalina.core.StandardHost start
情報: XML validation disabled

Source not found.
#ryu3hou 发表于2004-09-19 02:53:00  IP: 210.83.203.*
# 回复:Eclipse, Lomboz and Tomcat 的 JSP 调试 2004-09-12 10:23 PM tim
To ALex:不能调试的问题可能是因为你启动Tomcat时没有用debugger server
==================================
log
==================================
2004/09/19 15:46:41 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1をポート8080で初期化します
2004/09/19 15:46:41 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 2219 ms
2004/09/19 15:46:41 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2004/09/19 15:46:41 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/5.0.16
2004/09/19 15:46:41 org.apache.catalina.core.StandardHost start
情報: XML validation disabled

Source not found.
====================================
为什么我的debugger server启动错误,而非debugger模式正常。
#MYSTiQUE 发表于2004-09-20 01:22:00  IP: 202.108.45.*
我的tomcat启动后有下面的错误

-----------------------------------------------------------------------
严重: Skipped installing application listeners due to previous error(s)
2004-9-20 14:03:55 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2004-9-20 14:03:55 org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors
-----------------------------------------------------------------------

我建了那个xml文件,但把我建的工程放在eclipse的workspace目录下时没法使用,放在tomcat的webapps才可以
#ak47 发表于2004-09-23 03:25:00  IP: 218.18.36.*
请教搂住:
严重: Skipped installing application listeners due to previous error(s)
2004-9-23 13:03:29 org.apache.catalina.core.StandardContext start

#Kekee 发表于2004-09-23 00:17:00  IP: 218.18.36.*
我遇到了一样的问题
严重: Skipped installing application listeners due to previous error(s)
2004-9-23 13:03:29 org.apache.catalina.core.StandardContext start
#zhaipx1978 发表于2004-09-23 20:39:00  IP: 218.61.235.*
我的jre_src和jre_srcrott默认是空,问这样可以吗?如果不可以添加什么?还有用ie 时,提示错误是:type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
o
#dawave 发表于2004-09-24 10:00:00  IP: 209.161.199.*
不能调试的各位,因为无法逐个分析每一个问题,我的建议是用5.0.25,不要用那个出问题的5.0.27(虽然可以修改server文件启动,但可能还有其他问题)

一直在用5.0.25,没有任何问题。

如果担心安全或者其他bug,可以最后部署到5.0.27,而在5.0.25里开发。

#kevin 发表于2004-09-26 23:25:00  IP: 202.42.161.*
哪里可以下载tomcat5.0.25?
谢谢
#mili 发表于2004-09-26 06:23:00  IP: 219.140.122.*
where can i find tomcat 5.0.25?
i can't find it in apache's websit.
only can find 5.0.28.
Do you know another link for this version because i could't find it on the net
#dwave 发表于2004-09-26 12:13:00  IP: 152.31.128.*
To Mili: find my reply in the first article "Eclipse 3 + Lomboz 3 + Tomcat 5 开发网站", there shoule be a link about that.
#zxw 发表于2004-09-29 01:45:00  IP: 61.170.202.*
在ie中输入网址http://localhost:8080/demo/index.jsp
提示这个错误
HTTP Status 404 - /demo/index.jsp

--------------------------------------------------------------------------------

type Status report

message /demo/index.jsp

description The requested resource (/demo/index.jsp) is not available.

解决办法有三个:


1.Copy unpacked directory hierarchy into a subdirectory in directory $TOMCAT_HOME/webapps/. Tomcat will assign a context path to your application based on the subdirectory name you choose. We will use this technique in the build.xml file that we construct, because it is the quickest and easiest approach during development.


2.Copy the web application archive file into directory $TOMCAT_HOME/webapps/. When Tomcat is started, it will automatically expand the web application archive file into its unpacked form, and execute the application that way. This approach would typically be used to install an additional application, provided by a third party vendor or by your internal development staff, into an existing Tomcat installation. NOTE - If you use this approach, and wish to update your application later, you must both replace the web application archive file AND delete the expanded directory that Tomcat created, and then restart Tomcat, in order to reflect your changes.


3.Add a <Context> entry in the Tomcat server.xml configuration file. This approach is described briefly below, and al
#dwave 发表于2004-10-02 17:12:00  IP: 66.120.210.*
To: hwb

关于手动改_jsp.java的问题,我在前面已经说过一次了,这里再重复一次,

手动改使断点工作的方法不是正解,如果你的开发环境一定要改了才能截住断点,那是因为你的设置有问题,我从来没有改过任何_jsp.java文件,一样可以调试。

反复检查你的设置,直到和我文章里的一摸一样为止。这样肯定可以。

#hwb 发表于2004-10-01 11:28:00  IP: 211.161.44.*
我还是调试不成功

我按照上面说的,手工修改一下_jsp.java文件,再用浏览器刷新,也不行
修改其中的print的字符串,再刷新,还是没有改变。这么说,修改_jsp.java文件根本没用阿,tomcat还是以.jsp文件来判断修改的?

另外,tomcat以debug方式启动是什么?如何设置?

盼赐教!!
#Leaving 发表于2004-10-04 06:31:00  IP: 211.147.229.*
花了一天才按照大家的说法一步一步搞好了。
我用的是Eclipse 3.01+Lomboz 3.01+Tomcat 5.0.28

弄的过程当中,几乎大家提到的问题我都碰到了
按照大家的方法一个一个解决
但是Alex提到的:“
我在ie中输入网址http://localhost:8080/demo/index.jsp
提示这个错误
HTTP Status 404 - /demo/index.jsp
--------------------------------------------------------------------------------
type Status report
message /demo/index.jsp
description The requested resource (/demo/index.jsp) is not available. “

这个问题我弄了很久后来发现原来还是那个在conf\Catalina\localhost中新建的xml文件大小写的问题
我新建的xml文件的内容是:
<Context path="/demo"
docBase="D:/eclipse/workspace/MyJ2eeProject/demo"
workDir="D:/eclipse/workspace/MyJ2eeProject/j2src"
reloadable="true" debug="0">
</Context>
其中“MyJ2eeProject“是Project的名字, "demo"是Module的名字

在ie中应该输入网址http://localhost:8080/demo/index.jsp
或者http://localhost:8080/demo都可以
docBase如果写成docbase就会导致Alex提到的问题
改回来就完全没有问题了

我是新手,看了大家的文章,做一个小小的总结
还望各位指教。
#fisher 发表于2004-10-09 10:23:00  IP: 218.15.144.*
不知道怎么感谢你好!我好几天的问题终于解决了!!!!!!!!!!

现在狂喜中!
继续努力写出好文章来啊!
#fakir3344 发表于2004-10-13 11:24:00  IP: 220.169.113.*
我的出现Prototype错误啊
#fakir3344 发表于2004-10-13 11:29:00  IP: 220.169.113.*
严重: Prototype
java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused: connect
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1797)
at com.mysql.jdbc.Connection.<init>(Connection.java:562)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:361)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at org.logicalcobwebs.proxool.ProxyFactory.buildProxyConnection(ProxyFactory.java:41)
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:150)
at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:95)
at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:42)
#好人 发表于2004-10-24 21:21:00  IP: 222.38.140.*
个为大峡,我用eclipse在C:/Tomcat 5.0/webapps/workspace/下建立了一个tsxsxt项目,并放了一个index.jsp.设置了tsxsxt.xml的内容为< Context workDir="C:/Tomcat 5.0/webapps/workspace/tsxsxt/j2src" reloadable="true" debug="0" docBase="C:/Tomcat 5.0/webapps/workspace/tsxsxt" path="/tsxsxt" / >可是就是访问不到Index.jsp网业,请问为什么???????????????
急急急!!!!!!!!
#keel 发表于2004-10-28 22:25:00  IP: 218.2.197.*
eclipse中用lombz调试,打开JSP对应的.JAVA程序时出错:
出错提示为:
org.apache.catalina.startup.bootstrap localhost:1767(may be out of synch)was unable to replace the running code with the code in the workspace.

reason:

hot code replace failed - Scheme change not implemented

求解!!!!!
#icy 发表于2004-11-04 03:14:00  IP: 61.51.195.*
建立JSP文件,修改保存后会提示
The serializable class error_jsp does not declare a static final serialVersionUID field of type long

是怎么回事?
#LORD 发表于2004-11-11 08:32:00  IP: 220.160.106.*
我的TOMCAT服务器在正常模式下run server可以启动并运行,但启动为Debug模式时服务器却启动不起来,请问是不是哪里地方没设置好?求救!!
#koala 发表于2004-11-22 03:05:00  IP: 211.155.251.*
请问楼主,哪里可以下载5.0.25,我在您说的地方没找到链接
To Mili: find my reply in the first article "Eclipse 3 + Lomboz 3 + Tomcat 5 开发网站", there shoule be a link about that.
另外官方网站也没有这个版本了,找了好久没找到。
我现在用的5.0.28,调了一天,也是上面出现的问题我都碰到过,但总算在各位的提示下解决了,初步可以调试,但就是怕以后出现问题。
另外,to 楼上的,你是不是没有stop server就直接debug server啊,这样会造成端口冲突
#koala 发表于2004-11-22 03:08:00  IP: 211.155.251.*
再说一句,看到上面也有出现端口冲突的问题,可能是启动了tomcat之后再在eclipse中run或者debug就会造成端口冲突。

感谢楼主经典的文章,期待下一篇大作
#P.Dragon 发表于2004-11-22 14:16:00  IP: 218.61.121.*
我严格按照你说的配置的::但总是有下面的问题!!
Bootstrap: Class loader creation threw exception
java.lang.ExceptionInInitializerError
at org.apache.catalina.loader.StandardClassLoader.<clinit>(StandardClassLoader.java:207)
at org.apache.catalina.startup.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:189)
at org.apache.catalina.startup.Bootstrap.createClassLoader(Bootstrap.java:160)
at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:104)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:193)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:399)
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException))
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.apache.tomcat.util.compat.JdkCompat.<clinit>(JdkCompat.java:55)
... 6 more
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.N
#电视机9号 发表于2004-11-24 20:08:00  IP: 202.104.17.*
学习中,上次我的TOMCAT启动不了是版本的问题,这都版本的问题老是烦人,想用新的却要找适合的其他版本的软件或插件支持。
#firerainbow 发表于2004-11-27 22:26:00  IP: 219.140.157.*
偶和zhaipx1978 兄的问题一样,JAVAC的路径怎么会有问题啊
#好好学习 发表于2005-02-06 08:42:00  IP: 210.22.183.*
楼主:
你好,首先按谢谢你的文章,我觉得很有用。
而且,基本上建立好了这个环境,但是现在我遇到个难题,就是当我jsp编译好,在j2src目录下,会自动生成相对应的java文件,这个是对的,但是为什么包名不是我jsp的结构,这样,就会造成所有生成的jsp的包名都不对,这样的话,所生成的java 文件都是打叉的,我jsp就没有办法正常生成。我想大概这根我的配置有关,我想问问楼主这是什么原因。还有我的目录摆放路径是这样
jsp 目录
---xxx这是根目录
--list 这是子目录
---index.jsp这是jsp文件
按照这个路径的话
在j2src里会生成xxx.list的包名,但是,在java文件里确是
package org.apache.jsp;
这样的话,我的jsp就是错的
希望楼主或者别的朋友帮我解答一下,谢谢。
#cwjfzu 发表于2005-04-05 09:55:00  IP: 218.104.238.*
像你那样没有把Project放到TOMCATWEBAPPS下
J2EE PROJECT会正常运行吗?
我是指他会不会自动修改SERVER。XML吗?
#kia 发表于2005-04-26 12:31:00  IP: 24.114.153.*
我用Eclipse 3.0, Lomboz3.01 和 Tomcat 5.0. 我希望能在Eclipse中debug jsp. 我所有的配置都符合, 可是总不能在project 的目录j2src 下, 生成jsp相应的.java文件. Any expert can help me?

Thanks in advance!

kia
#kia 发表于2005-04-26 13:27:00  IP: 24.114.153.*
我用Eclipse 3.0, Lomboz3.01 和 Tomcat 5.0. 我希望能在Eclipse中debug jsp. 我所有的配置都符合, 可是总不能在project 的目录j2src 下, 生成jsp相应的.java文件. 只有一个文件叫 tldCache.ser

求楼主指点

kia
#brand 发表于2005-07-12 10:25:00  IP: 61.186.252.*
@#$%^&*!!!!
太感动了,你帮我跳出了苦海.真不知道如何表达啊!!!!!
#Func Real 发表于2005-09-08 04:50:00  IP: 211.100.21.*
用jbuilder根本没有这些头疼的问题。哎
#gar 发表于2005-09-21 23:17:00  IP: 211.100.21.*
文章不错,btw 我用e3 l3 tomcat4.1也可以配出来

server.xml 如果不涉及域名,是不用改的

加一个context的xml,里面就指定了应用文件目录地址,文件目录不用拷贝至webapps下

jbuilder有限制,比如你的页面再web-inf目录下(被保护的),此时jb的web module是无法编辑web-inf下层目录的,至少我的jb9是这样,这样就很麻烦,很多应用出于安全的考虑页面和配置都在web-inf下的,比如jaoso

但我依旧有个问题,断点设置以后,不是停在.java上,而是停在另一个找不到源的文件上,虽然变量信息也可以看到,不过感觉不爽
#bluekog 发表于2005-11-18 21:48:00  IP: 59.66.131.*
我用的是tomcat 5.0.25,现在的话,Run server启动tomcat没问题了,但是我在ie中输入http://localhost:8080/test/index.jsp,显示的是空白,而且会产生异常
严重: Exception initializing page context
java.lang.NoClassDefFoundError: org/apache/commons/el/ExpressionEvaluatorImpl
at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:99)
at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:61)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:33)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextVal
#悲伤但我活着 发表于2005-11-30 03:01:00  IP: 210.29.162.*
#cc 发表于2005-12-02 02:01:00  IP: 221.221.150.*
我严格按照上面所写的做了,但是到了 NEW LOMBOZ PROJECT AND MODEL的时候,发现自动生成

的INDEX.JSP 和 ERROR.JSP 无法编译,打不开,说是“无法创建”,我为此重新下载了相关版

本软件让它们和你说的版本一致,重装了几次开发环境,可是还是不行,我已经郁闷了1周了,

请教你如何解决这个问题,谢谢。
不知道这个问题哪位可以指点一下啊。非常感谢了。我的MSN:dingzhuchen@126.com
QQ:34278537 请指点一下啊

谢谢谢谢!!!!!
#gaohan 发表于2006-02-17 02:27:00  IP: 218.56.240.*
你好,我的配置:eclipse3.0.1+jakarta-tomcat-5.0.30+org.objectweb.lomboz_3.0.1.N20050106+emf-sdo-runtime-2.0.1
我是看了之后按你说的做的,tomcat 能单独起动,就是在lomboz j2ee view中的\test\tomcat时出现如下的错误:
Bootstrap: Class loader creation threw exception
java.lang.ExceptionInInitializerError
at org.apache.catalina.startup.ClassLoaderFactory.<clinit>(ClassLoaderFactory.java:63)
at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:103)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:196)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:402)
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException))
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.apache.tomcat.util.compat.JdkCompat.<clinit>(JdkCompat.java:55)
... 4 more
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.N
#冰岛鱼翁 发表于2006-04-14 04:09:00  IP: 218.28.171.*
请教各位大侠我的环境是,TOMCAT5.5.16
ECLIPSE 3.1.2 LOMBOZ 3.1.2
但是在tomcat\conf\server.xml中设 <Context path="/ha95598" docBase="D:\dlfjava\haweb\haweb" workDir="d:\dlfjava\haweb\bin" debug="5" reloadable="true" crossContext="true">
<ResourceLink name="jdbc/kfxt" global="jdbc/jlxt" type="javax.sql.DataSource"/>
</Context>


但是*.CLASS文件为什么还是放到d:\dlfjava\haweb\haweb\WEB-INF\classes文件夹中才行,
在文件夹d:\dlfjava\haweb\bin中不行.SERVER.XML文件中参数workDir没用.
#冰岛鱼翁 发表于2006-04-14 04:25:00  IP: 218.28.171.*
我的QQ为3740485
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © dawave