无法运行自己目录下的Servlet,十分困惑,求教!
无法运行自己目录下的Servlet,十分困惑,求教!
环境:Win98+Tomcat4.0
我建了一个自己的项目目录myapp,按书上说的,为它建立了一个子目录WEB-INF,再下面是子目录classes和lib,以及从tomcat的例子目录拷贝过来的web.xml文件(没有改动),
然后把整个myapp拖到Tomcat的Webapps目录下面,于是困惑开始了:
1)如果我把自己的Servlet程序:HelloWWW.class文件放到myapp\WEB-INF\classes目录下,即:
D:\Tomcat4\webapps\myapp\WEB-INF\classes\HelloWWW.class
然后在浏览器中输入:http://localhost:8080/myapp/servlet/HelloWWW
就报错:
--------------------------------------------------------------------------------
type Status report
message /myapp/servlet/HelloWWW
description The requested resource (/myapp/servlet/HelloWWW) is not available.
2)可是如果我把这个HelloWWW.class放到Tomcat的例子目录下,即:
D:\Tomcat4\webapps\examples\WEB-INF\classes\HelloWWW.class
然后在浏览器中输入:http://localhost:8080/examples/servlet/HelloWWW
则运行成功。
我困惑的是,myapp和Tomcat的examples同样都是在webapps目录下,而且它们的web.xml和HelloWWW.class都是一样的,目录结构也是一样的,除了我的myapp目录下没有examples目录下的其他子目录比如images、jsp、servlet(这些都是没有关系的目录吧)以外,我觉得我的myapp目录和examples目录根本没什么不同,真正不同的就是,myapp\WEB-INF\classes\下只有一个HelloWWW.class文件,而examples\WEB-INF\classes\下有好多其他的.class文件。
可是为什么呢!那些.class文件都是我用不上的啊。
为什么在myapp目录下运行HelloWWW就报错,而在examples下就正常?
不明啊!
我也查了一些资料,发觉以前也有人提过类似的问题,我照那些解答做了(无非也就是建立一个有WEB-INF(大写)的目录,servlet要放在classes目录下,这些我都是对的啊),可还是没有用。
我甚至还试着在conf\server.xml文件中增加了myapp的虚拟目录,如下:
<Context path="/myapp" docBase="webapps/myapp" debug="0" reloadable="true" />
仍然不对。
改为:
<Context path="/myapp" docBase="myapp" debug="0" reloadable="true" />
也一样没用。
不明啊!
看在我辛苦敲这么多字的分上,请请请指教!!!