我在eclipse中创建了一个tomcat project,默认放在workplace的testservlet文件夹然后我创建了一个servlet文件Test.java,放在testservlet\WEB-INF\src下,编译后的类文件放在testservlet\WEB-INF\classes下,修改WEB-INF下的Web.xml文件为: <?xml version="1.0" encoding"ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
最后在浏览器下输入http://localhost:8080/testservlet/Test ,但结果却是:
HTTP Status 404 - /testservlet/Test ------------------------------------------------------------------------ type Status report message /testservlet/Test description The requested resource (/testservlet/Test) is not available.
------------------------------------------------------------------------ Apache Tomcat/6.0.10
后来我又把testservlet的整个文件复制到 tomcat的安装目录的webapps目录下,重新在浏览器输入http://localhost:8080/testservlet/Test ,结果还是一样,请问这是为什么??
顺便说一下,server.xml已经被eclise自动加上了
<Context path="/testservlet" reloadable="true" docBase="D:\eclipse\workspace\testservlet" workDir="D:\eclipse\workspace\testservlet\work" />
而且我的Test.java文件是绝对没有错的.请问是不是我的Web.xml配置错了?还是其它的错误?
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
最后在浏览器下输入http://localhost:8080/testservlet/Test ,但结果却是:
HTTP Status 404 - /testservlet/Test ------------------------------------------------------------------------ type Status report message /testservlet/Test description The requested resource (/testservlet/Test) is not available.
------------------------------------------------------------------------ Apache Tomcat/6.0.10
后来我又把testservlet的整个文件复制到 tomcat的安装目录的webapps目录下,重新在浏览器输入http://localhost:8080/testservlet/Test ,结果还是一样,请问这是为什么??
顺便说一下,server.xml已经被eclise自动加上了
<Context path="/testservlet" reloadable="true" docBase="D:\eclipse\workspace\testservlet" workDir="D:\eclipse\workspace\testservlet\work" />
而且我的Test.java文件是绝对没有错的.请问是不是我的Web.xml配置错了?还是其它的错误?
<web-app>
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/testservlet/Test</url-pattern>
</servlet-mapping>
</web-app>
TOMCAT在运行SERVLET的时候直接用的是CLASS文件,而不是你的源文件,如果在我说的那个目录下没有CLASS文件就会报错
不该把Test.java放在WEB-INF\src把src提出来,servlet文件不该放在WEB-INF下,当编译servlet文件时,自动把.class 文件放到
WEB-INF下的classes下了!试试看!