怎么样运行我的 class 文件??

klggg 2003-08-22 06:44:32
test.jsp
<html>
<head>
<title>JavaBean 试验</title>
</head>
<body>
<jsp:useBean id="helloBean" scope="session" class="test.gggtest" />
<%= helloBean.getHi() %>
<hr>
<%
helloBean.name = "JSP";
out.print(helloBean.getHi());
%>
</body>
</html>

gggtest.class
package test;
public class gggtest{
public String name = "My first bean";
public String getHi()
{
return "Hello from " + name;
}
}

以上两个文件..当我运行
http://localhost:8080/test.jsp
时提示

HTTP Status 500 -

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

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

An error occurred at line: 6 in the jsp file: /test.jsp

Generated servlet error:
[javac] Compiling 1 source file

C:\Tomcat\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:46: package test does not exist
test.gggtest helloBean = null;
^



An error occurred at line: 6 in the jsp file: /test.jsp

Generated servlet error:
C:\Tomcat\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:48: package test does not exist
helloBean = (test.gggtest) pageContext.getAttribute("helloBean", PageContext.SESSION_SCOPE);
^



An error occurred at line: 6 in the jsp file: /test.jsp

Generated servlet error:
C:\Tomcat\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:51: package test does not exist
helloBean = (test.gggtest) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "test.gggtest");
^
3 errors


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:128)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:348)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:455)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:300)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


note The full stack trace of the root cause is available in the Tomcat logs.


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

Apache Tomcat/5.0
...全文
742 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
klggg 2003-08-22
  • 打赏
  • 举报
回复
用 resin 我原来的 tomcat 要删除吧?
zj2977 2003-08-22
  • 打赏
  • 举报
回复
建议用resin,tomcat需要设置虚拟路径,resin可以直接开发,且速度又比tomcat快,所以建议用resin
seaman0916 2003-08-22
  • 打赏
  • 举报
回复
你这个问题真奇怪!

按说你把gggtest.class 放到 这个目录下了.C:\Tomcat\webapps\ROOT\WEB-INF\classes
并重启了tomcat ,做了这一步就可以了呀!

看你写的web.xml也没有设置虚拟目录呀!怎么回事?

搞不懂!
klggg 2003-08-22
  • 打赏
  • 举报
回复
嘿.可以了.不过很奇怪我把
test.jsp 放到根目录.用
http://localhost:8080/test.jsp
来调用就提示以上的错误.
但我建一个目录.然后 aaa 访问
http://localhost:8080/aaa/test.jsp
就可以正常运行..怎么会这样...
ticlej 2003-08-22
  • 打赏
  • 举报
回复
错误;gggtest.class 应放在WEB-INF\classes\test\gggtest.class
klggg 2003-08-22
  • 打赏
  • 举报
回复
把把 gggtest.class 放到 这个目录下了.C:\Tomcat\webapps\ROOT\WEB-INF\classes
并重启了tomcat
还是提示出错
HTTP Status 500 -

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

type Exception report

message

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

exception

javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:175)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:207)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:647)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:497)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:649)
java.lang.Thread.run(Thread.java:534)


root cause

java.lang.NoClassDefFoundError: gggtest (wrong name: test/gggtest)
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:537)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1656)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:891)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1220)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:175)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:207)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:647)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:497)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:649)
java.lang.Thread.run(Thread.java:534)


note The full stack trace of the root cause is available in the Tomcat logs.


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

Apache Tomcat/5.0
以下是我的 web.xml 文件内容
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>


<!-- JSPC servlet mappings start -->

<!--servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping-->


<servlet>
<servlet-name>gggtest</servlet-name>
<servlet-class>gggtest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>gggtest</servlet-name>
<url-pattern>/test.jsp</url-pattern>
</servlet-mapping>

<!-- JSPC servlet mappings end -->

</web-app>

zcjl 2003-08-22
  • 打赏
  • 举报
回复
错误信息显示没找到package test
你确定你的gggtest.class是放到了
C:\Tomcat\webapps\ROOT\WEB-INF\classes\test下了吗?
klggg 2003-08-22
  • 打赏
  • 举报
回复
C:\Tomcat\webapps\ROOT\WEB-INF\classes
C:\Tomcat\lib
我都放上了我的 gggtest.class 文件了.
是不是要我的 tomcat 重启的?
study_body 2003-08-22
  • 打赏
  • 举报
回复
test.gggtest类没有找到,编译好,放在web-inf的class目录下面.
klggg 2003-08-22
  • 打赏
  • 举报
回复
以下是我的环境变量
CLASSPATH=C:\JDK\lib;C:\Tomcat\lib
JAVA_HOME=C:\JDK
OS=Windows_NT
Path=D:\WINNT\system32;D:\WINNT;D:\WINNT\System32\Wbem;F:\Program Files\KAV2003;
C:\JDK\bin;.;C:\JDK\lib;;C:\PROGRA~1\COMMON~1\AUTODE~1
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0806
ProgramFiles=D:\Program Files
PROMPT=$P$G
SystemDrive=D:
SystemRoot=D:\WINNT
TEMP=D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TMP=D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TOMCAT_HOME=C:\Tomcat
USERDOMAIN=CHENGJUN
USERNAME=Administrator
USERPROFILE=D:\Documents and Settings\Administrator
windir=D:\WINNT
我刚学 java 真是找不到方向了.

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧