为什么Tomcat5.0.28不能执行Tomcat自带的部分JSP例子?
环境:Tomcat5.0.28(jakarta-tomcat-5.0.28.exe),j2sdk1.4.2_07,XP pro
安装后打开http://localhost,正常,
然后点击左边的JSP Examples,正常
点击上面的“Execute”,“JSP 1.2 Examples”中的均能执行
“JSP 2.0 Examples”和“Tag Plugins”中除了“SVG (Scalable Vector Graphics)”
之外都出错
大致有两类root cause :
java.lang.NoSuchMethodError和java.lang.VerifyError
JAVA_HOME,CATALINA_HOME已经设置
高手能否解释一下?
问题点数:100、回复次数:10Top
1 楼zhutouzip(醒了的鸟)回复于 2005-04-03 21:45:08 得分 35
一般tomcat自带的例子在界面中执行是不会出错的啊!
我用的tomcat版本和你一摸一样,j2sdk1.4.2_04,都能成功执行!
你JAVA_HOME,CATALINA_HOME设置,如果版本兼容的话应该没问题的!
j2sdk1.4.2_07这个版的jdk没用过,不知道是否和tomcat兼容!Top
2 楼misboy()回复于 2005-04-03 21:54:22 得分 0
我试过,CATALINA_HOME设不设都一样Top
3 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-03 21:57:01 得分 20
在startup.bat里面加上set JAVA_HOME=...
Top
4 楼misboy()回复于 2005-04-03 21:57:28 得分 0
运行第一个例子Basic Arithmetic出错信息如下:
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: javax.servlet.jsp.PageContext.getVariableResolver()Ljavax/servlet/jsp/el/VariableResolver;
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.jsp2.el.basic_002darithmetic_jsp._jspService(basic_002darithmetic_jsp.java:73)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
root cause
java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getVariableResolver()Ljavax/servlet/jsp/el/VariableResolver;
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:899)
org.apache.jsp.jsp2.el.basic_002darithmetic_jsp._jspService(basic_002darithmetic_jsp.java:44)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
Top
5 楼misboy()回复于 2005-04-03 22:04:46 得分 0
在cmd下运行:
C:\app\Tomcat\bin>startup
Using CATALINA_BASE: c:\app\tomcat
Using CATALINA_HOME: c:\app\tomcat
Using CATALINA_TMPDIR: c:\app\tomcat\temp
Using JAVA_HOME: C:\app\j2sdk1.4.2_07
C:\app\Tomcat\bin>
说明JAVA_HOME设置正确Top
6 楼cronyjito(土地)回复于 2005-04-03 22:09:04 得分 45
将tomcat\common\lib目录里的servlet.jar
拷贝到JDK\jre\lib里,再重起tomcat,试试Top
7 楼gaochao79(www.informe.cn)回复于 2005-04-03 22:11:34 得分 0
没配好呗Top
8 楼cronyjito(土地)回复于 2005-04-03 22:11:52 得分 0
当然,你的classpath设置成"JDK目录\lib;."Top
9 楼misboy()回复于 2005-04-03 22:30:53 得分 0
CLASSPATH=.;D:\OSDepend\XMLSpy\XMLSpyInterface.jar;C:\app\j2sdk1.4.2_07\lib\tools.jar; C:\app\j2sdk1.4.2_07\lib\dt.jar;C:\oracle\ora92\jdbc\lib\classes12.jar
问题依旧
郁闷啊Top
10 楼misboy()回复于 2005-04-03 22:48:56 得分 0
刚才重装j2sdk1.4.2_07了一遍,问题依旧,然后卸载j2sdk1.4.2_07,发现C:\app\j2sdk1.4.2_07\jre\lib\ext下面有classes12.jar,mysql-connector-java-3.1.7-bin.jar,servlet.jar将servlet.jar扔进回收站,将1.4.2装到先前的目录下,启动TOMCAT,问题没了!
关闭TOMCAT,将回收站的servlet.jar还原,启动TOMCAT,于是出现了开始的问题!!Top




