F:\Apache Group\Tomcat 4.1\webapps\myweb\WEB-INF\classes>java HelloWorld Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld当我编译的时候出现如上错误!
F:\>javac HelloWorld.java HelloWorld.java:2: package java.servlet does not exist import java.servlet.*; ^ HelloWorld.java:4: cannot resolve symbol symbol : class HttpServlet location: class HelloWorld public class HelloWorld extends HttpServlet{ ^ HelloWorld.java:5: cannot resolve symbol symbol : class HttpServletRequest location: class HelloWorld public void doGet(HttpServletRequest request,HttpServletResponse response ) ^ HelloWorld.java:5: cannot resolve symbol symbol : class HttpServletResponse location: class HelloWorld public void doGet(HttpServletRequest request,HttpServletResponse response ) ^ HelloWorld.java:6: cannot resolve symbol symbol : class ServletException location: class java.io.IOException throws IOException.ServletException ^ HelloWorld.java:10: cannot resolve symbol symbol : method outprintln (java.lang.String) location: class HelloWorld outprintln("<html>"); ^ HelloWorld.java:11: cannot resolve symbol symbol : method outprintln (java.lang.String) location: class HelloWorld outprintln("<body>"); ^ HelloWorld.java:12: cannot resolve symbol symbol : method outprintln (java.lang.String) location: class HelloWorld outprintln("<head>"); ^ HelloWorld.java:13: cannot resolve symbol symbol : method outprintln (java.lang.String) location: class HelloWorld outprintln("<title>Hello World!</title>"); ^ HelloWorld.java:14: cannot resolve symbol symbol : method outprintln (java.lang.String) location: class HelloWorld outprintln("</head>"); ^ HelloWorld.java:15: cannot resolve symbol symbol : method outprintln (java.lang.String) location: class HelloWorld outprintln("<body>"); ^ HelloWorld.java:16: cannot resolve symbol symbol : method outprintln (java.lang.String) location: class HelloWorld outprintln("<h1>Hello World!</h1>"); ^ HelloWorld.java:17: cannot resolve symbol symbol : method outprintln (java.lang.String) location: class HelloWorld outprintln("</body>"); ^ HelloWorld.java:18: cannot resolve symbol symbol : method outprintln (java.lang.String) location: class HelloWorld outprintln("</html>"); ^ 14 errors
环境变量中我也定义了: classpath f:\Apache Group\Tomcat 4.1\common\lib\servlet.jar怎么就说 HelloWorld.java:2: package java.servlet does not exist import java.servlet.*;
我copy 下来的:你仔细帮我看看:classpath e:\java\download\mssqldriver\msbase.jar;e:\java\download\mssqldriver\mssqlserver.jar;e:\java\download\mssqldriver\msutil.jar;f:\Apache Group\Tomcat 4.1\common\lib\servlet.jar前几个jar是jdbc for ms sql server的驱动,我也正确的连接了sql server.
我copy 下来的:你仔细帮我看看:classpath e:\java\download\mssqldriver\msbase.jar;e:\java\download\mssqldriver\mssqlserver.jar;e:\java\download\mssqldriver\msutil.jar;f:\Apache Group\Tomcat 4.1\common\lib\servlet.jar前几个jar是jdbc for ms sql server的驱动,我也正确的连接了sql server.
然后编辑 myweb/WEB-INF/web.xml
在<web-app>后追加
<web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
结果大概是这样的
然后运行http://127.0.0.1/myweb/servlet/HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld当我编译的时候出现如上错误!
HelloWorld.java:2: package java.servlet does not exist
import java.servlet.*;
^
HelloWorld.java:4: cannot resolve symbol
symbol : class HttpServlet
location: class HelloWorld
public class HelloWorld extends HttpServlet{
^
HelloWorld.java:5: cannot resolve symbol
symbol : class HttpServletRequest
location: class HelloWorld
public void doGet(HttpServletRequest request,HttpServletResponse response
)
^
HelloWorld.java:5: cannot resolve symbol
symbol : class HttpServletResponse
location: class HelloWorld
public void doGet(HttpServletRequest request,HttpServletResponse response
)
^
HelloWorld.java:6: cannot resolve symbol
symbol : class ServletException
location: class java.io.IOException
throws IOException.ServletException
^
HelloWorld.java:10: cannot resolve symbol
symbol : method outprintln (java.lang.String)
location: class HelloWorld
outprintln("<html>");
^
HelloWorld.java:11: cannot resolve symbol
symbol : method outprintln (java.lang.String)
location: class HelloWorld
outprintln("<body>");
^
HelloWorld.java:12: cannot resolve symbol
symbol : method outprintln (java.lang.String)
location: class HelloWorld
outprintln("<head>");
^
HelloWorld.java:13: cannot resolve symbol
symbol : method outprintln (java.lang.String)
location: class HelloWorld
outprintln("<title>Hello World!</title>");
^
HelloWorld.java:14: cannot resolve symbol
symbol : method outprintln (java.lang.String)
location: class HelloWorld
outprintln("</head>");
^
HelloWorld.java:15: cannot resolve symbol
symbol : method outprintln (java.lang.String)
location: class HelloWorld
outprintln("<body>");
^
HelloWorld.java:16: cannot resolve symbol
symbol : method outprintln (java.lang.String)
location: class HelloWorld
outprintln("<h1>Hello World!</h1>");
^
HelloWorld.java:17: cannot resolve symbol
symbol : method outprintln (java.lang.String)
location: class HelloWorld
outprintln("</body>");
^
HelloWorld.java:18: cannot resolve symbol
symbol : method outprintln (java.lang.String)
location: class HelloWorld
outprintln("</html>");
^
14 errors
然后 应该是 out.println 而不是 outprintln
最好的解决办法
安装一个jbuilder,就可以了
classpath
f:\Apache Group\Tomcat 4.1\common\lib\servlet.jar怎么就说 HelloWorld.java:2: package java.servlet does not exist
import java.servlet.*;
e:\java\download\mssqldriver\msbase.jar;e:\java\download\mssqldriver\mssqlserver.jar;e:\java\download\mssqldriver\msutil.jar;f:\Apache Group\Tomcat 4.1\common\lib\servlet.jar前几个jar是jdbc for ms sql server的驱动,我也正确的连接了sql server.
<?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>
<servlet>
<servlet-name>HelloWord</servlet-name>
<servlet-class>helloword.HelloWord</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWord</servlet-name>
<url-pattern>/servlet/HelloWord</url-pattern>
</servlet-mapping>
</web-app>要注意哟,我的CLASS是HelloWord,不是HelloWorld哦。
e:\java\download\mssqldriver\msbase.jar;e:\java\download\mssqldriver\mssqlserver.jar;e:\java\download\mssqldriver\msutil.jar;f:\Apache Group\Tomcat 4.1\common\lib\servlet.jar前几个jar是jdbc for ms sql server的驱动,我也正确的连接了sql server.
正确的方式是
import javax.servlet.*;
import javax.servlet.http.*;
谢谢你!
我照你说的改了,改完以后还有一个错误!
F:\>javac HelloWorld.java
HelloWorld.java:6: cannot resolve symbol
symbol : class ServletException
location: class java.io.IOException
throws IOException.ServletException
^
1 error
throws IOException.ServletException
为
throws IOException,ServletException
然后
看看你是否导入了 import java.io.*;
如aredline(一根红线) 在classpath中所写不对,那么应该怎么写呢?
你写的import javax.servlet.*;
import javax.servlet.http.*;
应该写在哪里?
尤其向 baitianhai(hong)致敬!!!
谢谢baitianhai(hong)能够耐心讲解!!!!!
谢谢,问题已经按照baitianhai(hong)说的方法解决,谢谢!!!