0

我有一个远程 tomcat 6.0.24 服务器,上面有一个网络应用程序。现在,当我输入映射在服务器上的特定 url ( website/wordbank/xmldictionaryservice ) 时,我得到以下信息:

HTTP 状态 404 - Servlet xmldictionaryserviceservlet 不可用

类型:状态报告

消息:Servlet xmldictionaryserviceservlet 不可用

描述:请求的资源(Servlet xmldictionaryserviceservlet 不可用)不可用。

...我期待一个带有文件选择器和提交按钮的小表单。

web.xml 的相关部分在这里:

<web-app>
...
    <servlet>
        <servlet-name>xmldictionaryserviceservlet</servlet-name>
        <servlet-class>wordbank.servlets.XMLDictionaryServiceServlet</servlet-class>
    </servlet>
...
    <servlet-mapping>
        <servlet-name>xmldictionaryserviceservlet</servlet-name>
        <url-pattern>/xmldictionaryservice</url-pattern>
    </servlet-mapping>
...
</web-app>

xmldictionaryservice.jsp 的内容:

<html>
<body>

<form action="xmldictionaryservice" method="post" enctype="multipart/form-data">
<input name="xmlfile" type="file">
<input name="send" type="submit">
</form>

</body>
</html>

目录树是:

webapps
 |
 ...
 +-wordbank
    |
    ...
    +-xmldictionaryservice.jsp
    +-WEB-INF
       |
       +-web.xml
       +-classes
          |
          +-wordbank
             |
             ...
             +-servlets
                |
                ...
                +-XMLDictionaryServiceServlet.class

我检查了各种类似的线程,但它们并没有帮助我。有谁知道这里有什么问题?

4

3 回答 3

1

Servlet xmldictionaryserviceservlet 不可用

这个特定于 Tomcat 的消息意味着在 webapp 的启动过程中,Tomcat 的以下内容失败了:

String servletClass = "wordbank.servlets.XMLDictionaryServiceServlet";
String servletUrlPattern = "/xmldictionaryservice";

Servlet servlet = (Servlet) Class.forName(servletClass).newInstance();
servlet.init(servletConfig);
servlets.put(servletUrlPattern, servlet);

所以,可能的原因至少是找不到servlet类,或者servlet的默认构造函数不存在或者抛出了异常,或者init()方法抛出了异常,或者类没有实现Servlet(阅读:extend HttpServlet)一点也不。

在启动期间,有关此问题的信息应该在服务器日志的早期可用。再次阅读您的服务器日志以找到真正的异常和堆栈跟踪,并相应地修复 servlet 类。

于 2012-06-21T16:00:40.350 回答
0

重新启动环境就可以了。它在日食中太频繁了

于 2013-03-26T15:28:16.040 回答
0

Tomcat 正在识别 URL,因此尝试加载XMLDictionaryServiceServlet来创建实例。加载类XMLDictionaryServiceServlet似乎存在问题,请仔细检查类(XMLDictionaryServiceServlet)是否遵循 servlet 约定。

能否请您粘贴XMLDictionaryServiceServlet.java的源代码

于 2012-06-22T04:10:34.097 回答