日期:2014-05-20  浏览次数:20788 次

运行servlet,出现错误:The requested resource () is not available.
环境:
Apache:2.2.10
Tomcat:5.5.27

D:\MyApps 为我建立的虚拟目录的位置

我然后在这个目录下建立一个目录WEB-INF目录和一个文件web.xml,并在WEB-INF中建立classes目录

现在我通过http://localhost/MyApps 可以成功访问到这个虚拟目录。现在的web.xml中只有如下的内容:
XML code

<?xml version="1.0" encoding="utf-8"?>
<web-app>    
  <welcome-file-list>
          <welcome-file>index.html</welcome-file>
          <welcome-file>index.htm</welcome-file>
          <welcome-file>index.jsp</welcome-file>              
  </welcome-file-list>  
 </web-app>


现在,放个静态的html文件到d:\MyApps下,是可以成功访问的。

我写了个servlet,很简单的,将编译成功的class文件拷贝到WEB-INF/classes中。
然后修改web.xml中的文件内容为:

XML code

<?xml version="1.0" encoding="utf-8"?>
<web-app>    
  <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
 </servlet>
  
  <servlet-mapping>
      <servlet-name>hello</servlet>
      <url-pattren>/TestServlet</url-pattern>
  </servlet-mapping>
  
  <welcome-file-list>
          <welcome-file>index.html</welcome-file>
          <welcome-file>index.htm</welcome-file>
          <welcome-file>index.jsp</welcome-file>              
  </welcome-file-list>
  
 </web-app>



现在连http://localhost:8080/MyApps下的基本的静态基本html文件都访问不到,更不要提http://localhost:8080/MyApps/TestServlet了??

这是什么原因啊??搞了一整天了,郁闷哈..

每改动一次我都重新启动过tomcat,还是出这样的问题!

------解决方案--------------------
第一、先http://localhost:8080看看自己的tomcat有问题没

我然后在这个目录下建立一个目录WEB-INF目录和一个文件web.xml
我想请问一下你的web.xml是在哪个目录下?
web.xml放到WEB-INF/下面去
配置没问题(如果没有package的话)

第二、如果你有package的话就不能直接把.class文件拷贝到classes目录下去,也要建跟package一样的目录结构
然后把.class文件拷贝到下面去,当然<servlet-class>HelloServlet</servlet-class>还是要改成<servlet-class>packageName.HelloServlet</servlet-class>