编写了一个简单的Servlet,HelloWorld.java
package test;import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter(); out.println("<html>");
out.println("<head>");
out.println("<title>HelloWorld</title>");
out.println("</head>")
out.println("<body>HelloWorld</body>");
out.println("</html>");
}
}
环境变量
JAVA_HOME=C:\j2sdk1.4.2_13
CATALINA_HOME=C:\Program Files\Apache Software Foundation\Tomcat 5.0
CLASSPATH=C:\j2sdk1.4.2_13\lib\dt.jar;C:\j2sdk1.4.2_13\lib\tool.jar;C:\j2sdk1.4.2_13\lib\tools.jar;C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar;C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\jsp-api.jarPath=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\j2sdk1.4.2_13\bin将编译完后的HelloWorld.class放入%CATLINA_HOME%\webapps\servlet\WEB-INF\classses\test\目录下
并且修改了servlet\WEB-INF\下的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>my program</display-name>
<description>
test
</description>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<display-name>HelloWorld</display-name>
<description>A test Servlet</description>
<servlet-class>test.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
重新启动Tomcat,但是在浏览器中输入http://127.0.0.1:8080/webapps/servlet/HelloWorld
出现下面的错误
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Wrapper cannot find servlet class test.HelloWorld or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:534)
root cause java.lang.ClassNotFoundException: test.HelloWorld
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:534)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.29 logs.无法定位class文件啊,郁闷啊,上次写javabean时也是类似的错误,也找不带class文件,但是我的class文件已经放在相应文件夹下了啊,我都快疯了。大家救救我啊
package test;import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter(); out.println("<html>");
out.println("<head>");
out.println("<title>HelloWorld</title>");
out.println("</head>")
out.println("<body>HelloWorld</body>");
out.println("</html>");
}
}
环境变量
JAVA_HOME=C:\j2sdk1.4.2_13
CATALINA_HOME=C:\Program Files\Apache Software Foundation\Tomcat 5.0
CLASSPATH=C:\j2sdk1.4.2_13\lib\dt.jar;C:\j2sdk1.4.2_13\lib\tool.jar;C:\j2sdk1.4.2_13\lib\tools.jar;C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar;C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\jsp-api.jarPath=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\j2sdk1.4.2_13\bin将编译完后的HelloWorld.class放入%CATLINA_HOME%\webapps\servlet\WEB-INF\classses\test\目录下
并且修改了servlet\WEB-INF\下的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>my program</display-name>
<description>
test
</description>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<display-name>HelloWorld</display-name>
<description>A test Servlet</description>
<servlet-class>test.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
重新启动Tomcat,但是在浏览器中输入http://127.0.0.1:8080/webapps/servlet/HelloWorld
出现下面的错误
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Wrapper cannot find servlet class test.HelloWorld or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:534)
root cause java.lang.ClassNotFoundException: test.HelloWorld
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:534)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.29 logs.无法定位class文件啊,郁闷啊,上次写javabean时也是类似的错误,也找不带class文件,但是我的class文件已经放在相应文件夹下了啊,我都快疯了。大家救救我啊
解决方案 »
- 蛋碎的Extjs,求指导,看着例子的能看懂,稍有改变就...
- 用java编写能够在手机上登入网站的程序
- 系统要加入一个论坛,推荐一下java开源论坛
- tomcat启动出错
- 复选框取值问题... 在线等
- 听说做出这种网站月薪可以上万:http://www.tsingtao.com.cn/请问它用到什么技术?是如何实现的?论坛越详细越好......
- 在线求助:关于JAVA的CALENDAR类的问题。顶者有分!!
- session 的时效
- 跪求jfreechart曲线图,谁能发个
- JSP中无法创建图象的错误
- 50分求代码数据库动态生成树形目录,显示在JSP页面上!谢谢!
- jspSmartUpload实现图片上传的时候,表单里面除了图片以外别的值为什么得不到?
应该在浏览器中输入http://127.0.0.1:8080/servlet/HelloWorld
如果你没有去改动tomcat本身的配置文件的话,你就按楼上所讲的一样,输入http://127.0.0.1:8080/servlet/HelloWorld
<servlet-class> test.HelloWorld </servlet-class> 你的可执行文件 必须要放在 test目录下面,因为你在HelloWorld 里面打了一个 test包,那么就意味着
HelloWorld.class文件必须处于 test文件夹下面,这才是有意义的,而 你的这个文件HelloWorld.class我敢肯定 绝对 没有放在 test文件夹里面如果打的 包是 package com.test,那么就要放在路径 com\test\下面,但是Servlet是你最开始建立的文件夹,然后应该有这样的路径 Servlet\WEB-INF\classes\test\HelloWorld.class(HelloWorld.class可以拷贝到这里来,) 你的问题只需要多建立一个 test文件夹就搞定了
<servlet-class> test.HelloWorld </servlet-class> 你的可执行文件 必须要放在 test目录下面,因为你在HelloWorld 里面打了一个 test包,那么就意味着
HelloWorld.class文件必须处于 test文件夹下面,这才是有意义的,而 你的这个文件HelloWorld.class我敢肯定 绝对 没有放在 test文件夹里面如果打的 包是 package com.test,那么就要放在路径 com\test\下面,但是Servlet是你最开始建立的文件夹,然后应该有这样的路径 Servlet\WEB-INF\classes\test\HelloWorld.class(HelloWorld.class可以拷贝到这里来,) 你的问题只需要多建立一个 test文件夹就搞定了
我用的是myEclipse也有这个错误!!
错误原因是
jqueryui/web/WEB-INF/classes
我弄成了
jqueryui/web/WEB-INF/classee不知道什么时候不小心弄成的,但是就是一直报错,一直调不通 突然看到了,,,,困扰了我快一小时在我重新建立项目测试的时候发现了