import javax.servlet.*;import javax.servlet.http.*;的问题 你没 搞错 JAVA的放到这边来。。2年没用JAVA了是哦 是必须要放到一个目录的 才用tomcat 4.1呀一般JAVA程序应该无所谓的 只要编译的时候到其目录下面 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CLASSPATH 里不要用 *.jar,把每一个 jar 都写出来不过你的问题不是出在这里。不知道你是用 javac 编译的还是用 IDE 编译的,如果是后者,你需要在IDE的 Project 的设置里加上 servlet.jar另,你去 Tomcat 的安装目录下的common\lib看一下,是 servlet.jar ,还是 servlet-api.jar,文件名不能写错的。 我是用javac编译的,现可以编译通过了.我把E:\Tomcat 4.1\common\lib\servlet.jar拷贝到E:\j2sdk1.4.2_06\jre\lib\ext下后,就好了,不知道什么原因。但是现在我不能在IE下执行HelloWorld,调用如此:http://localhost:8080/hall.HelloWorld其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>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description></web-app><servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>HelloWorld</servlet-class></servlet><servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/hall/HelloWorld</url-pattern></servlet-mapping>web-inf下有个hall子目录,其下存放着HelloWorld.java和HelloWorld.class;在dos下用java执行,启示Exception in thread "main"java.lang.NoClassDefFoundError:请各位在看看 WEB-INF/classes 下面放你的包和类,即WEB-INF/classes/hall/HelloWrold.class 希望下次有和我一样出现错误的人,看到了这样个例子,有点帮助吧。***************************/*HelloWorld.java*/放到虚拟目录或别的目录下成这样的结构web-inf/classes/HelloWorld.java然后编译了成了这样的结构web-inf/classes/Hello/HelloWorld.classpackage Hello;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloWorld extends HttpServlet{public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<html><head><title>");out.println("This is my first Servlet");out.println("</title></head><body>");out.println("<h1>Hello,World!</h1>");out.println("<h2>Hello,World!</h2>");out.println("<h3>Hello,World!</h3>");out.println("</body></html>");}}********************************/*web.xml*/修改后的web.xml,修改后记得重新启动Tomcat不然总是出错误的。说找不到。<?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 Web Application</display-name> <description> A application for test. </description> <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>Hello.HelloWorld</servlet-class></servlet><servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/servlet/HelloWorld</url-pattern></servlet-mapping></web-app> ****************************************把它用Jcreator编译了的HelloWorld.class把打包的以Hello/HelloWorld.class这样的结构一起copy到了web-inf里的classes底下。然后去把web-inf里的web.xml修改,加上以下几行:<servlet-name>HelloWorld</servlet-name> /*注册一个servlet的别名,一般就用类的名字*/<servlet-class>Hello.HelloWorld</servlet-class>/*指明它在web-inf的classes底下开始的位置*/ </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/servlet/HelloWorld</url-pattern>/*一般是用/servlet/*或用/servlet/servlet的名字*/就好了。或<servlet-name>HelloWorld</servlet-name> <servlet-class>Hello.HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/servlet/*</url-pattern> 我一直从网上看到的都是这几句要点。一个要点是注册了servlet;一个要点是为这个servlet指定一个位置。但是由于每次修改了web.xml后没有重新启动Tomcat。总是以为配置web.xml出错了。一直在修改一直在测试,却总是出来错误。就是在这个原因了。如果在ROOT里放的servlet的话,用http://localhost:8080/servlet/HelloWorld访问如果放到虚拟目录,比如我的是lanziman的话就用http://localhost:8080/lanziman/servlet/HelloWorld访问。子曼,一个细心的女孩lanziman 尤其谢谢cgliang00的代码,确实帮我解决了问题,我接触Java不久,请多多支持。 程序中会出现java.lang.NullPointerException的错误 java 和XML文件处理问题 大家用过ImageIO这个类吗?其中的wirte 方法不是很明白。 如何让eclipse不自动生成Auto-generated method stub java仿windows图片查看器制作问题..... 请问:能把一个图片地址付值给另一个变量吗?能的化怎么写? JAVA与数据库的问题!!! 请问我可不可以访问网络中的一个ODBC数据源啊? 帮小女一个忙,谢谢大哥 关于汉字转换的问题?急! java的中文显示问题。 救命呀!!!Java中是否可以用索引?在线等哈
不过你的问题不是出在这里。不知道你是用 javac 编译的还是用 IDE 编译的,如果是后者,你需要在IDE的 Project 的设置里加上 servlet.jar另,你去 Tomcat 的安装目录下的common\lib看一下,是 servlet.jar ,还是 servlet-api.jar,文件名不能写错的。
但是现在我不能在IE下执行HelloWorld,调用如此:http://localhost:8080/hall.HelloWorld
其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>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
</web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/hall/HelloWorld</url-pattern>
</servlet-mapping>
web-inf下有个hall子目录,其下存放着HelloWorld.java和HelloWorld.class;
在dos下用java执行,启示Exception in thread "main"java.lang.NoClassDefFoundError:
请各位在看看
WEB-INF/classes/hall/HelloWrold.class
***************************
/*HelloWorld.java*/
放到虚拟目录或别的目录下成这样的结构web-inf/classes/HelloWorld.java
然后编译了成了这样的结构web-inf/classes/Hello/HelloWorld.classpackage Hello;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>");
out.println("This is my first Servlet");
out.println("</title></head><body>");
out.println("<h1>Hello,World!</h1>");
out.println("<h2>Hello,World!</h2>");
out.println("<h3>Hello,World!</h3>");
out.println("</body></html>");}
}********************************
/*web.xml*/修改后的web.xml,修改后记得重新启动Tomcat不然总是出错误的。说找不到。<?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 Web Application</display-name>
<description>
A application for test.
</description>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>Hello.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
****************************************把它用Jcreator编译了的HelloWorld.class把打包的以Hello/HelloWorld.class这样的结构一起
copy到了web-inf里的classes底下。然后去把web-inf里的web.xml修改,加上以下几行:
<servlet-name>HelloWorld</servlet-name> /*注册一个servlet的别名,一般就用类的名字*/
<servlet-class>Hello.HelloWorld</servlet-class>/*指明它在web-inf的classes底下开始的位置*/
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>/*一般是用/servlet/*或用/servlet/servlet的名字*/
就好了。
或
<servlet-name>HelloWorld</servlet-name>
<servlet-class>Hello.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/*</url-pattern>
我一直从网上看到的都是这几句要点。一个要点是注册了servlet;一个要点是为这个servlet指定一个位置。
但是由于每次修改了web.xml后没有重新启动Tomcat。总是以为配置web.xml出错了。一直在修改一直在测试,却总是出来错误。就是在这个原因了。
如果在ROOT里放的servlet的话,用http://localhost:8080/servlet/HelloWorld访问
如果放到虚拟目录,比如我的是lanziman的话就用http://localhost:8080/lanziman/servlet/HelloWorld访问。子曼,一个细心的女孩lanziman